From: Xuehan Xu Date: Thu, 28 Aug 2025 08:11:32 +0000 (+0800) Subject: crimson/osd/osd_operations/client_request: rely on the checks in X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ed4441eefc20ba481154d57488e531855d601d7a;p=ceph.git crimson/osd/osd_operations/client_request: rely on the checks in PG::do_recover_missing() to determine whether to recover clone objects PeeringState::is_missing_any_head_or_clone_of() only checks whether the head/clone object is missing on the primary. Fixes: https://tracker.ceph.com/issues/72763 Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/osd/osd_operations/client_request.cc b/src/crimson/osd/osd_operations/client_request.cc index 3dd27ff55f7..5c1ab0fa4a7 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -361,8 +361,7 @@ ClientRequest::process_op( } std::set snaps = snaps_need_to_recover(); - if (!snaps.empty() && - pg->is_missing_head_and_clones(m->get_hobj().get_head())) { + if (!snaps.empty()) { co_await recover_missing_snaps(pg, snaps); } }