]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PrimaryLogPG: is_degraded_on_async_recovery_target - restrict to async_recovery_t... 24345/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Mon, 3 Sep 2018 04:05:14 +0000 (12:05 +0800)
committerPrashant D <pdhange@redhat.com>
Mon, 1 Oct 2018 01:04:22 +0000 (21:04 -0400)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 6923a4371b6757c7a2a4dfb6320e7190ce61c645)

src/osd/PrimaryLogPG.cc

index 4c0746cdffae2c387a43bff36d7c34777d6b9ab0..abbf80477f2d84edef01e97524eb87b4b73a8bbc 100644 (file)
@@ -678,15 +678,10 @@ bool PrimaryLogPG::is_degraded_or_backfilling_object(const hobject_t& soid)
 
 bool PrimaryLogPG::is_degraded_on_async_recovery_target(const hobject_t& soid)
 {
-  for (set<pg_shard_t>::iterator i = acting_recovery_backfill.begin();
-       i != acting_recovery_backfill.end();
-       ++i) {
-    if (*i == get_primary()) continue;
-    pg_shard_t peer = *i;
-    auto peer_missing_entry = peer_missing.find(peer);
+  for (auto &i: async_recovery_targets) {
+    auto peer_missing_entry = peer_missing.find(i);
     if (peer_missing_entry != peer_missing.end() &&
-        peer_missing_entry->second.get_items().count(soid) &&
-        async_recovery_targets.count(peer)) {
+        peer_missing_entry->second.get_items().count(soid)) {
       dout(30) << __func__ << " " << soid << dendl;
       return true;
     }