Print this page
@@ -406,10 +406,11 @@
{
blkptr_t bp;
dmu_object_type_info_t *doti;
zio_compress_info_t *zct;
zio_checksum_info_t *zci;
+ zio_crypt_info_t *zcc;
int i;
char buf[MAXPATHLEN];
if (mdb_vread(&bp, sizeof (blkptr_t), addr) == -1) {
mdb_warn("failed to read blkptr_t");
@@ -435,10 +436,17 @@
for (i = 0; i < ZIO_COMPRESS_FUNCTIONS; i++) {
mdb_readstr(buf, sizeof (buf), (uintptr_t)zct[i].ci_name);
zct[i].ci_name = local_strdup(buf);
}
+ if (read_symbol("zio_crypt_table", (void **)&zcc) != DCMD_OK)
+ return (DCMD_ERR);
+ for (i = 0; i < ZIO_CRYPT_FUNCTIONS; i++) {
+ mdb_readstr(buf, sizeof (buf), (uintptr_t)zcc[i].ci_name);
+ zcc[i].ci_name = local_strdup(buf);
+ }
+
/*
* Super-ick warning: This code is also duplicated in
* cmd/zdb.c . Yeah, I hate code replication, too.
*/
for (i = 0; i < BP_GET_NDVAS(&bp); i++) {
@@ -461,13 +469,14 @@
mdb_printf("ENDIAN: %6s\t\t\t\t\tTYPE: %s\n",
BP_GET_BYTEORDER(&bp) ? "LITTLE" : "BIG",
doti[BP_GET_TYPE(&bp)].ot_name);
mdb_printf("BIRTH: %-16llx LEVEL: %-2d\tFILL: %llx\n",
bp.blk_birth, BP_GET_LEVEL(&bp), bp.blk_fill);
- mdb_printf("CKFUNC: %-16s\t\tCOMP: %s\n",
+ mdb_printf("CKFUNC: %-16s\tCOMP: %s\tCRYPT: %s\n",
zci[BP_GET_CHECKSUM(&bp)].ci_name,
- zct[BP_GET_COMPRESS(&bp)].ci_name);
+ zct[BP_GET_COMPRESS(&bp)].ci_name,
+ zcc[BP_GET_CRYPT(&bp)].ci_name);
mdb_printf("CKSUM: %llx:%llx:%llx:%llx\n",
bp.blk_cksum.zc_word[0],
bp.blk_cksum.zc_word[1],
bp.blk_cksum.zc_word[2],
bp.blk_cksum.zc_word[3]);