]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: PeeringState: fix a boolean conditional direction
authorGreg Farnum <gfarnum@redhat.com>
Fri, 12 Mar 2021 21:05:29 +0000 (21:05 +0000)
committerGreg Farnum <gfarnum@redhat.com>
Fri, 12 Mar 2021 21:51:10 +0000 (21:51 +0000)
We want to add an OSD from the mandatory member if we DON'T already have one!

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
src/osd/PeeringState.cc

index 7296e0647cf105d751bd8f9fd379fa6d46d13d72..e0f13adb56f90128291010d6d6ae2b9ec342b9da 100644 (file)
@@ -2024,7 +2024,7 @@ void PeeringState::calc_replicated_acting_stretch(
     }
   }
 
-  if (want->size() >= pool.info.size) {
+  if (want->size() >= pool.info.size) { // non-failed CRUSH mappings are valid
     ss << " up set sufficient" << std::endl;
     return;
   }
@@ -2095,7 +2095,7 @@ void PeeringState::calc_replicated_acting_stretch(
   if (pool.info.peering_crush_mandatory_member != CRUSH_ITEM_NONE) {
     auto aiter = ancestors.find(pool.info.peering_crush_mandatory_member);
     if (aiter != ancestors.end() &&
-       aiter->second.get_num_selected()) {
+       !aiter->second.get_num_selected()) {
       ss << " adding required ancestor " << aiter->first << std::endl;
       ceph_assert(!aiter->second.is_empty()); // wouldn't exist otherwise
       pop_ancestor(aiter->second);