From: David Zafman Date: Tue, 25 Jun 2019 14:57:43 +0000 (-0700) Subject: osd: Only request scrub reservations from PG's acting set X-Git-Tag: v14.2.3~120^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fd2732f7c718819eefe957f6a874eb7eb843aa03;p=ceph.git osd: Only request scrub reservations from PG's acting set Fixes: http://tracker.ceph.com/issues/40530 Signed-off-by: David Zafman (cherry picked from commit 0855ef827b2e79b70b82c9feec656a4fd16f3d85) Conflicts: src/osd/PG.cc (Use actingset instead of get_actingset(), code rearranged) --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 4c81620aa33d..94456eee7eab 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -4470,7 +4470,7 @@ bool PG::sched_scrub() clear_scrub_reserved(); scrub_unreserve_replicas(); return false; - } else if (scrubber.reserved_peers.size() == acting.size()) { + } else if (scrubber.reserved_peers.size() == actingset.size()) { dout(20) << __func__ << ": success, reserved self and replicas" << dendl; if (scrubber.time_for_deep) { dout(10) << __func__ << ": scrub will be deep" << dendl; @@ -4743,8 +4743,8 @@ void PG::clear_scrub_reserved() void PG::scrub_reserve_replicas() { ceph_assert(backfill_targets.empty()); - for (set::iterator i = acting_recovery_backfill.begin(); - i != acting_recovery_backfill.end(); + for (set::iterator i = actingset.begin(); + i != actingset.end(); ++i) { if (*i == pg_whoami) continue; dout(10) << "scrub requesting reserve from osd." << *i << dendl; @@ -4760,8 +4760,8 @@ void PG::scrub_reserve_replicas() void PG::scrub_unreserve_replicas() { ceph_assert(backfill_targets.empty()); - for (set::iterator i = acting_recovery_backfill.begin(); - i != acting_recovery_backfill.end(); + for (set::iterator i = actingset.begin(); + i != actingset.end(); ++i) { if (*i == pg_whoami) continue; dout(10) << "scrub requesting unreserve from osd." << *i << dendl;