]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/pg_recovery: call on_global_recover on the "recover deleted" object when... 67866/head
authorXuehan Xu <xuxuehan@qianxin.com>
Wed, 18 Mar 2026 06:45:41 +0000 (14:45 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Wed, 18 Mar 2026 06:45:41 +0000 (14:45 +0800)
Fixes: https://tracker.ceph.com/issues/75574
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/osd/pg_recovery.cc

index 69456cd5fe2bbaab97debf81cff8d37702649525..67f9794344a89d21ea0ae8ebf5c1a001032ac646 100644 (file)
@@ -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<>();
       })
     );