From: Xuehan Xu Date: Wed, 18 Mar 2026 06:45:41 +0000 (+0800) Subject: crimson/osd/pg_recovery: call on_global_recover on the "recover deleted" object when... X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F67866%2Fhead;p=ceph.git crimson/osd/pg_recovery: call on_global_recover on the "recover deleted" object when it's not missing on the primary too Fixes: https://tracker.ceph.com/issues/75574 Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/osd/pg_recovery.cc b/src/crimson/osd/pg_recovery.cc index 69456cd5fe2b..67f9794344a8 100644 --- a/src/crimson/osd/pg_recovery.cc +++ b/src/crimson/osd/pg_recovery.cc @@ -334,9 +334,11 @@ RecoveryBackend::interruptible_future<> PGRecovery::prep_object_replica_deletes( trigger, pg->get_recovery_backend()->push_delete(soid, need).then_interruptible( [=, this] { - object_stat_sum_t stat_diff; - stat_diff.num_objects_recovered = 1; - on_global_recover(soid, stat_diff, true); + if (pg->get_peering_state().get_pg_log().get_missing().is_missing(soid)) { + object_stat_sum_t stat_diff; + stat_diff.num_objects_recovered = 1; + on_global_recover(soid, stat_diff, true); + } return seastar::make_ready_future<>(); }) );