diff options
author | Matthew Ahrens <[email protected]> | 2020-02-13 11:24:57 -0800 |
---|---|---|
committer | GitHub <[email protected]> | 2020-02-13 11:24:57 -0800 |
commit | f49b7a0d8ec2579c1f06c8ea7581448927482fb2 (patch) | |
tree | c702ab6887f53da27c2f76f1a525ccad56f2e288 | |
parent | 2adc6b35aebc722d83329f0e340833263c6415aa (diff) |
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 <[email protected]>
Signed-off-by: Matthew Ahrens <[email protected]>
Closes #9983
-rw-r--r-- | cmd/zstreamdump/zstreamdump.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cmd/zstreamdump/zstreamdump.c b/cmd/zstreamdump/zstreamdump.c index 4c996ae55..ad3cefafc 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"); |