]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/PeeringState: skip wait state if osd set is empty
authorSage Weil <sage@redhat.com>
Tue, 24 Sep 2019 17:05:24 +0000 (12:05 -0500)
committerSage Weil <sage@redhat.com>
Sat, 28 Sep 2019 16:51:18 +0000 (11:51 -0500)
If there are no down OSDs from prior intervals, then the normal peering
process will end up contacting all of the prior OSDs and ensuring that
their prior interval is terminated during peering.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PeeringState.cc

index dd0ba2cd1e4f66e5111511402a1f886f4c9ef198..19be27bea48e0a405b69806282d2a68b9f4787fe 100644 (file)
@@ -6255,6 +6255,11 @@ PeeringState::GetInfo::GetInfo(my_context ctx)
 
   prior_set = ps->build_prior();
   ps->prior_readable_down_osds = prior_set.down;
+  if (ps->prior_readable_down_osds.empty()) {
+    psdout(10) << " no prior_set down osds, clearing prior_readable_until_ub"
+              << dendl;
+    ps->clear_prior_readable_until_ub();
+  }
 
   ps->reset_min_peer_features();
   get_infos();