diff options
author | Don Anderson <dda@mongodb.com> | 2015-07-24 23:38:44 -0400 |
---|---|---|
committer | Michael Cahill <michael.cahill@mongodb.com> | 2015-08-04 14:54:09 +1000 |
commit | 00f7e9a47fa0774f87e88dabbbf09a01b99d80ef (patch) | |
tree | bdc930b425413e90e7a305f5bc7e86242bb2fd6f | |
parent | 98ac371e715dc58d7d3153d650a721bc952449b6 (diff) | |
download | mongo-00f7e9a47fa0774f87e88dabbbf09a01b99d80ef.tar.gz |
Merge pull request #2086 from wiredtiger/wt-2020-checksum-error-messages
WT-2020: clarify checksum error failure messages.
(cherry picked from commit 7d6075c5ad327d14a0b59410b84a2e5678069e4d)
-rw-r--r-- | src/block/block_read.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/block/block_read.c b/src/block/block_read.c index ef944fcb152..0d631396b41 100644 --- a/src/block/block_read.c +++ b/src/block/block_read.c @@ -192,21 +192,29 @@ __wt_block_read_off(WT_SESSION_IMPL *session, WT_BLOCK *block, buf->size = size; blk = WT_BLOCK_HEADER_REF(buf->mem); - page_cksum = blk->cksum; - if (page_cksum == cksum) { + if (blk->cksum == cksum) { blk->cksum = 0; page_cksum = __wt_cksum(buf->mem, F_ISSET(blk, WT_BLOCK_DATA_CKSUM) ? size : WT_BLOCK_COMPRESS_SKIP); if (page_cksum == cksum) return (0); - } - if (!F_ISSET(session, WT_SESSION_SALVAGE_CORRUPT_OK)) - __wt_errx(session, - "read checksum error [%" PRIu32 "B @ %" PRIuMAX ", %" - PRIu32 " != %" PRIu32 "]", - size, (uintmax_t)offset, cksum, page_cksum); + if (!F_ISSET(session, WT_SESSION_SALVAGE_CORRUPT_OK)) + __wt_errx(session, + "read checksum error for %" PRIu32 "B block at " + "offset %" PRIuMAX ": calculated block checksum " + "of %" PRIu32 " doesn't match expected checksum " + "of %" PRIu32, + size, (uintmax_t)offset, page_cksum, cksum); + } else + if (!F_ISSET(session, WT_SESSION_SALVAGE_CORRUPT_OK)) + __wt_errx(session, + "read checksum error for %" PRIu32 "B block at " + "offset %" PRIuMAX ": block header checksum " + "of %" PRIu32 " doesn't match expected checksum " + "of %" PRIu32, + size, (uintmax_t)offset, blk->cksum, cksum); /* Panic if a checksum fails during an ordinary read. */ return (block->verify || |