]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
core: Handle OP_TOUCH_TEMP in BlueStore without any guard(WITH_CRIMSON) 69428/head
authorMohit Agrawal <moagrawa@redhat.com>
Fri, 12 Jun 2026 01:59:18 +0000 (07:29 +0530)
committerMohit Agrawal <moagrawa@redhat.com>
Tue, 30 Jun 2026 09:31:12 +0000 (15:01 +0530)
commit68dc3eb81ed9cfcb93999fbbc4d8619994b014e3
tree964401365325be7b03658338119b6e3df4ca33aa
parent2017866ee68bff5e5ae7ab32a4457113f2bb9596
core: Handle OP_TOUCH_TEMP in BlueStore without any guard(WITH_CRIMSON)

During backfill recovery on Crimson OSD replica, Bluestore
aborts with _txc_add_transaction error ENOENT on operation
due to OP_TOUCH_TEMP. OP_TOUCH_TEMP is guarded by #ifdef WITH_CRIMSON
but WITH_CRIMSON is not defined when BlueStore is compiled.

OP_TOUCH_TEMP is a crimson specific op to manage temporary
objects and the op is not used by classic osd. It is a plain
integer constant defined in the shared transaction layer so
adding it to the common code path in Transaction.h and BlueStore.cc
requires no additional includes or compile time guards.Handling
it unconditonally is therefore safe for all Objectstore backends.

Solution: Handle OP_TOUCH_TEMP without any guard

Fixes: https://tracker.ceph.com/issues/75957
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
src/os/Transaction.cc
src/os/Transaction.h
src/os/bluestore/BlueStore.cc