From e2cc448b6013c9b9ac4e12167a1d5abb6b790202 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Tue, 10 Jul 2018 21:23:17 -0700 Subject: [PATCH] Reduce zdb output when pool contains checkpoint When running zdb without additional arguments against a pool containing a checkpoint the entire checkpoint spacemap should not be dumped. Make this behavior conditional upon passing the -mmmm option as described in the zdb(8) man page. -mmmm Display every spacemap record. Reviewed-by: Serapheim Dimitropoulos Reviewed-by: Giuseppe Di Natale Signed-off-by: Brian Behlendorf Closes #7702 --- cmd/zdb/zdb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c index 0d2f3623b6..142968d07a 100644 --- a/cmd/zdb/zdb.c +++ b/cmd/zdb/zdb.c @@ -4738,7 +4738,8 @@ verify_checkpoint_vdev_spacemaps(spa_t *checkpoint, spa_t *current) space_map_length(checkpoint_sm) / sizeof (uint64_t); VERIFY0(space_map_iterate(checkpoint_sm, verify_checkpoint_sm_entry_cb, &vcsec)); - dump_spacemap(current->spa_meta_objset, checkpoint_sm); + if (dump_opt['m'] > 3) + dump_spacemap(current->spa_meta_objset, checkpoint_sm); space_map_close(checkpoint_sm); } @@ -4920,7 +4921,8 @@ verify_checkpoint(spa_t *spa) */ (void) printf("\nPartially discarded checkpoint " "state found:\n"); - dump_leftover_checkpoint_blocks(spa); + if (dump_opt['m'] > 3) + dump_leftover_checkpoint_blocks(spa); return (0); } else if (error != 0) { (void) printf("lookup error %d when looking for "