diff options
Diffstat (limited to 'usr/src/cmd/mdb/common/modules/zfs/zfs.c')
-rw-r--r-- | usr/src/cmd/mdb/common/modules/zfs/zfs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr/src/cmd/mdb/common/modules/zfs/zfs.c b/usr/src/cmd/mdb/common/modules/zfs/zfs.c index 064d8529e7..b75f0d95fc 100644 --- a/usr/src/cmd/mdb/common/modules/zfs/zfs.c +++ b/usr/src/cmd/mdb/common/modules/zfs/zfs.c @@ -463,12 +463,15 @@ blkptr(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv) BP_GET_LSIZE(&bp), BP_GET_PSIZE(&bp)); mdb_printf("ENDIAN: %6s\t\t\t\t\tTYPE: %s\n", BP_GET_BYTEORDER(&bp) ? "LITTLE" : "BIG", - doti[BP_GET_TYPE(&bp)].ot_name); + BP_GET_TYPE(&bp) < DMU_OT_NUMTYPES ? + doti[BP_GET_TYPE(&bp)].ot_name : "UNKNOWN"); mdb_printf("BIRTH: %-16llx LEVEL: %-2d\tFILL: %llx\n", bp.blk_birth, (int)BP_GET_LEVEL(&bp), bp.blk_fill); mdb_printf("CKFUNC: %-16s\t\tCOMP: %s\n", - zci[BP_GET_CHECKSUM(&bp)].ci_name, - zct[BP_GET_COMPRESS(&bp)].ci_name); + BP_GET_CHECKSUM(&bp) < ZIO_CHECKSUM_FUNCTIONS ? + zci[BP_GET_CHECKSUM(&bp)].ci_name : "UNKNOWN", + BP_GET_COMPRESS(&bp) < ZIO_COMPRESS_FUNCTIONS ? + zct[BP_GET_COMPRESS(&bp)].ci_name : "UNKNOWN"); mdb_printf("CKSUM: %llx:%llx:%llx:%llx\n", bp.blk_cksum.zc_word[0], bp.blk_cksum.zc_word[1], |