]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Fix incorrect rollback logic for partial write OI 68609/head
authorAlex Ainscow <aainscow@uk.ibm.com>
Fri, 24 Apr 2026 14:57:55 +0000 (15:57 +0100)
committerAlex Ainscow <aainscow@uk.ibm.com>
Wed, 6 May 2026 09:52:18 +0000 (10:52 +0100)
commit254650b70886cd26e69f61af682c5daf9fbc4c31
treeccb51bd33375f22a0e6e258058b61076b057c8a2
parent0bb56bbda4eca831820df54d9616be5f52aab277
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