]> granicus.if.org Git - zfs/commitdiff
Reduce zdb output when pool contains checkpoint
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 11 Jul 2018 04:23:17 +0000 (21:23 -0700)
committerGitHub <noreply@github.com>
Wed, 11 Jul 2018 04:23:17 +0000 (21:23 -0700)
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 <serapheim.dimitro@delphix.com>
Reviewed-by: Giuseppe Di Natale <guss80@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7702

cmd/zdb/zdb.c

index 0d2f3623b6f2b1aeeb6974fbfd91b598c61a705b..142968d07a6894b22118782a59638c04b1489e8d 100644 (file)
@@ -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 "