From: Xuehan Xu Date: Wed, 22 Apr 2026 05:37:46 +0000 (+0800) Subject: crimson/osd: create temp recovering objects through touch_temp X-Git-Tag: v21.0.1~152^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=25c4baa2be79d36597dc2b73b718eadb611c8b80;p=ceph.git crimson/osd: create temp recovering objects through touch_temp Signed-off-by: Xuehan Xu --- 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,