From 3fef3c83b8ce90149110ed989bd9fd3e289798e0 Mon Sep 17 00:00:00 2001 From: Allan Jude Date: Fri, 3 Jul 2020 20:47:16 +0000 Subject: [PATCH] Make zdb display the compression algorithm and level Signed-off-by: Allan Jude --- cmd/zdb/zdb.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c index f135c99cc247..5ce537fa1005 100644 --- a/cmd/zdb/zdb.c +++ b/cmd/zdb/zdb.c @@ -2795,9 +2795,26 @@ dump_object(objset_t *os, uint64_t object, int verbosity, " (K=%s)", ZDB_CHECKSUM_NAME(doi.doi_checksum)); } - if (doi.doi_compress != ZIO_COMPRESS_INHERIT || verbosity >= 6) { + if (doi.doi_compress != ZIO_COMPRESS_INHERIT) { (void) snprintf(aux + strlen(aux), sizeof (aux) - strlen(aux), " (Z=%s)", ZDB_COMPRESS_NAME(doi.doi_compress)); + } else if (ZIO_COMPRESS_HASLEVEL(os->os_compress)) { + const char *compname = NULL; + if (zfs_prop_index_to_string(ZFS_PROP_COMPRESSION, + ZIO_COMPRESS_RAW(os->os_compress, os->os_complevel), + &compname) == 0) { + (void) snprintf(aux + strlen(aux), + sizeof (aux) - strlen(aux), " (Z=inherit=%s)", + compname); + } else { + (void) snprintf(aux + strlen(aux), + sizeof (aux) - strlen(aux), + " (Z=inherit=%s-unknown)", + ZDB_COMPRESS_NAME(os->os_compress)); + } + } else { + (void) snprintf(aux + strlen(aux), sizeof (aux) - strlen(aux), + " (Z=inherit=%s)", ZDB_COMPRESS_NAME(os->os_compress)); } (void) printf("%10lld %3u %5s %5s %5s %6s %5s %6s %s%s\n",