]> git.proxmox.com Git - mirror_zfs-debian.git/commitdiff
Illumos #3397, #3398
authorChristopher Siden <chris.siden@delphix.com>
Sat, 12 Jan 2013 00:42:50 +0000 (16:42 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Sat, 12 Jan 2013 00:42:50 +0000 (16:42 -0800)
3397 zdb <pool> <objnum> output is too verbose
3398 zdb can't dump feature flags zap objects

Reviewed by: Matt Ahrens <matthew.ahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Eric Schrock <eric.schrock@delphix.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Approved by: Dan McDonald <danmcd@nexenta.com>

References:
  illumos/illumos-gate@e690fb27a7d1483f052505e1ff373d205f9dee99
  https://www.illumos.org/issues/3397
  https://www.illumos.org/issues/3398

Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
cmd/zdb/zdb.c

index de4ac510eee11afa150e941c9de721d047203eae..70b4ba2683824b7d63121b7ade7e6962f6c8f33f 100644 (file)
 #undef ZFS_MAXNAMELEN
 #include <libzfs.h>
 
-#define        ZDB_COMPRESS_NAME(idx) ((idx) < ZIO_COMPRESS_FUNCTIONS ? \
-    zio_compress_table[(idx)].ci_name : "UNKNOWN")
-#define        ZDB_CHECKSUM_NAME(idx) ((idx) < ZIO_CHECKSUM_FUNCTIONS ? \
-    zio_checksum_table[(idx)].ci_name : "UNKNOWN")
-#define        ZDB_OT_NAME(idx) ((idx) < DMU_OT_NUMTYPES ? \
-    dmu_ot[(idx)].ot_name : DMU_OT_IS_VALID(idx) ? \
-    dmu_ot_byteswap[DMU_OT_BYTESWAP(idx)].ob_name : "UNKNOWN")
-#define        ZDB_OT_TYPE(idx) ((idx) < DMU_OT_NUMTYPES ? (idx) : DMU_OT_NUMTYPES)
+#define        ZDB_COMPRESS_NAME(idx) ((idx) < ZIO_COMPRESS_FUNCTIONS ?        \
+       zio_compress_table[(idx)].ci_name : "UNKNOWN")
+#define        ZDB_CHECKSUM_NAME(idx) ((idx) < ZIO_CHECKSUM_FUNCTIONS ?        \
+       zio_checksum_table[(idx)].ci_name : "UNKNOWN")
+#define        ZDB_OT_NAME(idx) ((idx) < DMU_OT_NUMTYPES ?     \
+       dmu_ot[(idx)].ot_name : DMU_OT_IS_VALID(idx) ?  \
+       dmu_ot_byteswap[DMU_OT_BYTESWAP(idx)].ob_name : "UNKNOWN")
+#define        ZDB_OT_TYPE(idx) ((idx) < DMU_OT_NUMTYPES ? (idx) :             \
+       (((idx) == DMU_OTN_ZAP_DATA || (idx) == DMU_OTN_ZAP_METADATA) ? \
+       DMU_OT_ZAP_OTHER : DMU_OT_NUMTYPES))
 
 #ifndef lint
 extern int zfs_recover;
@@ -3207,7 +3209,13 @@ main(int argc, char **argv)
                                            argv[i], strerror(errno));
                        }
                }
-               (os != NULL) ? dump_dir(os) : dump_zpool(spa);
+               if (os != NULL) {
+                       dump_dir(os);
+               } else if (zopt_objects > 0 && !dump_opt['m']) {
+                       dump_dir(spa->spa_meta_objset);
+               } else {
+                       dump_zpool(spa);
+               }
        } else {
                flagbits['b'] = ZDB_FLAG_PRINT_BLKPTR;
                flagbits['c'] = ZDB_FLAG_CHECKSUM;