]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
Fix for "data digests are inconsistent" data_digests_are_inconsistent_fix
authorJon Bailey <jonathan.bailey1@ibm.com>
Mon, 22 Sep 2025 11:59:47 +0000 (12:59 +0100)
committerJon Bailey <jonathan.bailey1@ibm.com>
Mon, 6 Oct 2025 15:25:14 +0000 (16:25 +0100)
commitcbfe3da68ff46907ac504b97b3c20d122966b0f4
tree60361f80cb319f385a88b07d7ba254d3c8934384
parent48765233d624e28837274faac3364cc72769f022
Fix for "data digests are inconsistent"

It was possible to see "data digests are inconsistent" being output to the logs at incorrect times due to multiple bugs. This code reorganises some of the deep scrubbing code and fixes the issues. The root cause of the issue that is being fixed here is:
* We were comparing crc buffers beyond the end of the crcs
* There was a double call to logical_to_ondisk_size when creating the crcs for zero buffers, causing them to be mis-sized
* The code was not padding smaller shards as its a requirement for shards to be the same sized when used for parity comparison.

All the above are fixed in this commit

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
src/osd/scrubber/scrub_backend.cc
src/osd/scrubber/scrub_backend.h