Fix erroneous zstreamdump warning

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Amanakis <gamanakis@gmail.com>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes #13154
This commit is contained in:
Paul Dagnelie 2022-02-26 11:24:27 -08:00 committed by GitHub
parent ce91f973ec
commit 82226e4f44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -297,6 +297,7 @@ zstream_do_dump(int argc, char *argv[])
fletcher_4_init(); fletcher_4_init();
while (read_hdr(drr, &zc)) { while (read_hdr(drr, &zc)) {
uint64_t featureflags = 0;
/* /*
* If this is the first DMU record being processed, check for * 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); BSWAP_64(drrb->drr_fromguid);
} }
featureflags =
DMU_GET_FEATUREFLAGS(drrb->drr_versioninfo);
(void) printf("BEGIN record\n"); (void) printf("BEGIN record\n");
(void) printf("\thdrtype = %lld\n", (void) printf("\thdrtype = %lld\n",
DMU_GET_STREAM_HDRTYPE(drrb->drr_versioninfo)); DMU_GET_STREAM_HDRTYPE(drrb->drr_versioninfo));
@ -461,7 +465,8 @@ zstream_do_dump(int argc, char *argv[])
BSWAP_64(drro->drr_maxblkid); 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, (void) fprintf(stderr,
"Warning: Object %llu has bonuslen = " "Warning: Object %llu has bonuslen = "
"%u > raw_bonuslen = %u\n\n", "%u > raw_bonuslen = %u\n\n",