From 25c4baa2be79d36597dc2b73b718eadb611c8b80 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Wed, 22 Apr 2026 13:37:46 +0800 Subject: [PATCH] crimson/osd: create temp recovering objects through touch_temp Signed-off-by: Xuehan Xu --- src/crimson/osd/replicated_recovery_backend.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index a1f2f99caab..3448d3722b4 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -1232,7 +1232,14 @@ ReplicatedRecoveryBackend::prep_push_target( // create a new object if (!complete || !recovery_info.object_exist) { t->remove(coll->get_cid(), target_oid); - t->touch(coll->get_cid(), target_oid); + if (complete) { + t->touch(coll->get_cid(), target_oid); + } else { + t->touch_temp( + coll->get_cid(), + target_oid, + ghobject_t(recovery_info.soid)); + } object_info_t oi; oi.decode(attrs.at(OI_ATTR)); t->set_alloc_hint(coll->get_cid(), target_oid, -- 2.47.3