]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/replicated_recovery_backend: call on_global_recover() only 60597/head
authorXuehan Xu <xuxuehan@qianxin.com>
Sat, 2 Nov 2024 14:11:02 +0000 (22:11 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Sat, 2 Nov 2024 14:12:35 +0000 (22:12 +0800)
when all replicas and the primary have been recovered

Fixes: https://tracker.ceph.com/issues/68806
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/osd/replicated_recovery_backend.cc

index 76f24196b51f75e919e42975a9b46fa5a3a1ed7e..31f05836b8eabef173c288734f3e9407c0163e67 100644 (file)
@@ -306,7 +306,10 @@ ReplicatedRecoveryBackend::recover_delete(
       }
       return seastar::make_ready_future<>();
     }).then_interruptible([this, soid, &stat_diff] {
-      pg.get_recovery_handler()->on_global_recover(soid, stat_diff, true);
+      const auto &missing = pg.get_peering_state().get_pg_log().get_missing();
+      if (!missing.is_missing(soid)) {
+        pg.get_recovery_handler()->on_global_recover(soid, stat_diff, true);
+      }
       return seastar::make_ready_future<>();
     });
   });