]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: PGLog Attach correct version to missing list when ignoring log entries 67870/head
authorAlex Ainscow <aainscow@uk.ibm.com>
Wed, 18 Mar 2026 09:22:26 +0000 (09:22 +0000)
committerAlex Ainscow <aainscow@uk.ibm.com>
Thu, 30 Apr 2026 15:27:48 +0000 (16:27 +0100)
commit7967f28c774f3f3830f10e02e88d6ef3e82b9f82
tree003a95d9b371ca3a6752a5179bf4c382dcfa5b3b
parentd6b2c448857f1e5d1bbbdaa09da5bf7f65878328
osd: PGLog Attach correct version to missing list when ignoring log entries

A previous fix for PR 66698 fixed an issue where log entries associated with
partial writes were being processed incorrectly (see that PR and associated
tracker for details).  The fix was to ignore log entries that should not have
been present on the non-primary shard.

The problem with that approach is that in a more complex scenario, where the
log contained a partial write, followed by a full write AND the shard is
backfilling, then the missing list was being given the version prior to the
full write, rather than prior to the clone.

Our fix here corrects how the missing list version is calculated.

See the associated tracker for instructions on how to recreate

Fixes: https://tracker.ceph.com/issues/75211
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
src/osd/PGLog.cc
src/osd/PGLog.h
src/test/osd/TestECFailoverWithPeering.cc