]> granicus.if.org Git - zfs/commitdiff
zdb: don't print log spacemap stats in pools without the feature
authorSerapheim Dimitropoulos <serapheim@delphix.com>
Thu, 18 Jul 2019 19:54:03 +0000 (12:54 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 18 Jul 2019 19:54:03 +0000 (12:54 -0700)
Creating a pool with not features enabled and running
`zdb -mmmmmm on` it before the patch:

```
Log Space Maps in Pool:

Log Space Map Obsolete Entry Statistics:
0        valid entries out of 0        - txg 0
0        valid entries out of 0        - total
```

After this patch the above output goes away.

Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Sara Hartse <sara.hartse@delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #9048

cmd/zdb/zdb.c

index 8ccbd5e8bed05cc506a1b2669369ee4837e7c8d4..7e7e26448e68e02dce812eba577e9e30b5732ad4 100644 (file)
@@ -1204,6 +1204,9 @@ dump_metaslabs(spa_t *spa)
 static void
 dump_log_spacemaps(spa_t *spa)
 {
+       if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
+               return;
+
        (void) printf("\nLog Space Maps in Pool:\n");
        for (spa_log_sm_t *sls = avl_first(&spa->spa_sm_logs_by_txg);
            sls; sls = AVL_NEXT(&spa->spa_sm_logs_by_txg, sls)) {
@@ -5823,6 +5826,9 @@ log_spacemap_obsolete_stats_cb(spa_t *spa, space_map_entry_t *sme,
 static void
 dump_log_spacemap_obsolete_stats(spa_t *spa)
 {
+       if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP))
+               return;
+
        log_sm_obsolete_stats_arg_t lsos;
        bzero(&lsos, sizeof (lsos));