]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: Fix incorrect rollback logic for partial write OI missing_list_partial_writes
authorAlex Ainscow <aainscow@uk.ibm.com>
Fri, 24 Apr 2026 14:57:55 +0000 (15:57 +0100)
committerAlex Ainscow <aainscow@uk.ibm.com>
Sun, 3 May 2026 16:57:07 +0000 (17:57 +0100)
commit25b6927f18686d3d75851c7d2b5964837a6364a3
tree0bae3691fdd7780f27278626e79430908f92c73d
parent93dbbc4040b28564d493d145f81412402bf495e3
osd: Fix incorrect rollback logic for partial write OI

Before this fix, when rolling back an OI, the system used the OI
from the primary to rollback to. This is wrong if the previous
write was a partial write. This may have a few consequences
during recovery (although its not clear any are serious) and in
EC direct reads, where a false-positive version mismatch will be
detected.

The test provided recreates the issue.

The fix provided modifies the rollback as it is being written.

Fixes: https://tracker.ceph.com/issues/76213
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
# Conflicts:
# src/test/osd/TestECFailoverWithPeering.cc
src/osd/PGBackend.cc
src/test/osd/TestECFailoverWithPeering.cc