From f49b7a0d8ec2579c1f06c8ea7581448927482fb2 Mon Sep 17 00:00:00 2001 From: Matthew Ahrens Date: Thu, 13 Feb 2020 11:24:57 -0800 Subject: [PATCH] fix zstreamdump -C zstreamdump -C always fails. It is not calculating the checksums, but it's still trying to verify that the (non-calculated) checksum matches the one stored in the send stream. This change makes zstreamdump -C not verify checksums. Reviewed-by: Brian Behlendorf Signed-off-by: Matthew Ahrens Closes #9983 --- cmd/zstreamdump/zstreamdump.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/zstreamdump/zstreamdump.c b/cmd/zstreamdump/zstreamdump.c index 4c996ae554..ad3cefafc6 100644 --- a/cmd/zstreamdump/zstreamdump.c +++ b/cmd/zstreamdump/zstreamdump.c @@ -117,7 +117,8 @@ read_hdr(dmu_replay_record_t *drr, zio_cksum_t *cksum) sizeof (zio_cksum_t), cksum); if (r == 0) return (0); - if (!ZIO_CHECKSUM_IS_ZERO(&drr->drr_u.drr_checksum.drr_checksum) && + if (do_cksum && + !ZIO_CHECKSUM_IS_ZERO(&drr->drr_u.drr_checksum.drr_checksum) && !ZIO_CHECKSUM_EQUAL(saved_cksum, drr->drr_u.drr_checksum.drr_checksum)) { fprintf(stderr, "invalid checksum\n");