]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Torn write protection for Direct Reads
authorAlex Ainscow <aainscow@uk.ibm.com>
Thu, 5 Feb 2026 13:14:07 +0000 (13:14 +0000)
committerJon Bailey <jonathan.bailey1@ibm.com>
Thu, 28 May 2026 14:15:50 +0000 (15:15 +0100)
commit829aced79a3c7116366f6d93b8eadb554dc7ef50
treeb8053c9862fcaaca30693488106dc3b78993f3b8
parentcebf73e91b2985e284a66cacf0eb24c9af9255dd
osd: Torn write protection for Direct Reads

It is possible for direct reads to query two seperate shards and
get different versions of the object for each shard when using
direct reads.

To solve this we add a get_internal_version op to tell us the version
of the object on that shard and submit that in the same transaction
as the read so we can ensure the versions are what we expect. If we
have a mismatch, we resubmit the read through the primary path.

Also a couple of spelling/tidy ups

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Signed-off-by: Callum James <callum.james@ibm.com>
src/include/rados.h
src/osd/PrimaryLogPG.cc
src/osd/PrimaryLogPG.h
src/osdc/Objecter.h