From ddcdccbcc448ad5dcdafc872a2fa777e0b953680 Mon Sep 17 00:00:00 2001 From: Paul Dagnelie Date: Sat, 26 Feb 2022 11:24:27 -0800 Subject: [PATCH] Fix erroneous zstreamdump warning Reviewed-by: Brian Behlendorf Reviewed-by: George Amanakis Signed-off-by: Paul Dagnelie Closes #13154 --- cmd/zstream/zstream_dump.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmd/zstream/zstream_dump.c b/cmd/zstream/zstream_dump.c index af69a1494f..04a4986b45 100644 --- a/cmd/zstream/zstream_dump.c +++ b/cmd/zstream/zstream_dump.c @@ -297,6 +297,7 @@ zstream_do_dump(int argc, char *argv[]) fletcher_4_init(); while (read_hdr(drr, &zc)) { + uint64_t featureflags = 0; /* * If this is the first DMU record being processed, check for @@ -362,6 +363,9 @@ zstream_do_dump(int argc, char *argv[]) BSWAP_64(drrb->drr_fromguid); } + featureflags = + DMU_GET_FEATUREFLAGS(drrb->drr_versioninfo); + (void) printf("BEGIN record\n"); (void) printf("\thdrtype = %lld\n", DMU_GET_STREAM_HDRTYPE(drrb->drr_versioninfo)); @@ -461,7 +465,8 @@ zstream_do_dump(int argc, char *argv[]) BSWAP_64(drro->drr_maxblkid); } - if (drro->drr_bonuslen > drro->drr_raw_bonuslen) { + if (featureflags & DMU_BACKUP_FEATURE_RAW && + drro->drr_bonuslen > drro->drr_raw_bonuslen) { (void) fprintf(stderr, "Warning: Object %llu has bonuslen = " "%u > raw_bonuslen = %u\n\n",