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 <serapheim.dimitro@delphix.com>
Reviewed-by: Giuseppe Di Natale <guss80@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7702
This commit is contained in:
Brian Behlendorf 2018-07-10 21:23:17 -07:00 committed by GitHub
parent 00c405b4b5
commit e2cc448b60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View 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 "