]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: Only request scrub reservations from PG's acting set
authorDavid Zafman <dzafman@redhat.com>
Tue, 25 Jun 2019 14:57:43 +0000 (07:57 -0700)
committerDavid Zafman <dzafman@redhat.com>
Thu, 27 Jun 2019 21:20:54 +0000 (14:20 -0700)
Fixes: http://tracker.ceph.com/issues/40530
Signed-off-by: David Zafman <dzafman@redhat.com>
src/osd/PG.cc

index 92504127ded015f3c17cc3eb2f96e43f43ebd16e..a0c5f40b80e27d4561d880c8dda5f79b5bc7f628 100644 (file)
@@ -1437,8 +1437,7 @@ bool PG::sched_scrub()
       clear_scrub_reserved();
       scrub_unreserve_replicas();
       return false;
-    } else if (scrubber.reserved_peers.size() ==
-              recovery_state.get_acting().size()) {
+    } else if (scrubber.reserved_peers.size() == get_actingset().size()) {
       dout(20) << __func__ << ": success, reserved self and replicas" << dendl;
       if (scrubber.time_for_deep) {
        dout(10) << __func__ << ": scrub will be deep" << dendl;
@@ -2030,8 +2029,8 @@ void PG::clear_scrub_reserved()
 void PG::scrub_reserve_replicas()
 {
   ceph_assert(recovery_state.get_backfill_targets().empty());
-  for (set<pg_shard_t>::iterator i = get_acting_recovery_backfill().begin();
-       i != get_acting_recovery_backfill().end();
+  for (set<pg_shard_t>::iterator i = get_actingset().begin();
+       i != get_actingset().end();
        ++i) {
     if (*i == pg_whoami) continue;
     dout(10) << "scrub requesting reserve from osd." << *i << dendl;
@@ -2047,8 +2046,8 @@ void PG::scrub_reserve_replicas()
 void PG::scrub_unreserve_replicas()
 {
   ceph_assert(recovery_state.get_backfill_targets().empty());
-  for (set<pg_shard_t>::iterator i = get_acting_recovery_backfill().begin();
-       i != get_acting_recovery_backfill().end();
+  for (set<pg_shard_t>::iterator i = get_actingset().begin();
+       i != get_actingset().end();
        ++i) {
     if (*i == pg_whoami) continue;
     dout(10) << "scrub requesting unreserve from osd." << *i << dendl;