Fix journal data checksum mangling on corrupted block overwrite

This commit is contained in:
Vitaliy Filippov
2023-07-13 01:49:45 +03:00
parent 8e35319a34
commit bede73d158
2 changed files with 10 additions and 6 deletions
+2 -2
View File
@@ -731,7 +731,7 @@ bool blockstore_impl_t::verify_journal_checksums(uint8_t *csums, uint32_t offset
if (block_csum != ((uint32_t*)csums)[block_num])
{
if (bad_block_cb)
bad_block_cb(block_num*dsk.csum_block_size - (offset%dsk.csum_block_size), block_csum, ((uint32_t*)csums)[block_num]);
bad_block_cb(block_num*dsk.csum_block_size, block_csum, ((uint32_t*)csums)[block_num]);
else
return false;
}
@@ -749,7 +749,7 @@ bool blockstore_impl_t::verify_journal_checksums(uint8_t *csums, uint32_t offset
if (block_done > 0 && block_csum != ((uint32_t*)csums)[block_num])
{
if (bad_block_cb)
bad_block_cb(block_num*dsk.csum_block_size - (offset%dsk.csum_block_size), block_csum, ((uint32_t*)csums)[block_num]);
bad_block_cb(block_num*dsk.csum_block_size, block_csum, ((uint32_t*)csums)[block_num]);
else
return false;
}