From: xie xingguo Date: Mon, 3 Sep 2018 04:05:14 +0000 (+0800) Subject: osd/PrimaryLogPG: is_degraded_on_async_recovery_target - restrict to async_recovery_t... X-Git-Tag: v13.2.3~154^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F24345%2Fhead;p=ceph.git osd/PrimaryLogPG: is_degraded_on_async_recovery_target - restrict to async_recovery_targets only Signed-off-by: xie xingguo (cherry picked from commit 6923a4371b6757c7a2a4dfb6320e7190ce61c645) --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 4c0746cdffa..abbf80477f2 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -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::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; }