]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: only complete replicas should count toward min_size 1517/head
authorSamuel Just <sam.just@inktank.com>
Fri, 21 Mar 2014 20:24:15 +0000 (13:24 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 21 Mar 2014 22:59:50 +0000 (15:59 -0700)
Backport: emperor,dumpling,cuttlefish
Fixes: #7805
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc

index 8207a675bce4a76f3a1863a1dff3fde697f0cd72..e0cdedc26564b4f473400b6dc5bcbc0a80b452ca 100644 (file)
@@ -1000,7 +1000,15 @@ bool PG::choose_acting(int& newest_update_osd)
     return false;
   }
 
-  if (want.size() < pool.info.min_size) {
+  unsigned complete = 0;
+  for (vector<int>::iterator i = want.begin();
+       i != want.end();
+       ++i) {
+    assert(peer_info.count(*i));
+    if (!peer_info[*i].is_incomplete())
+      complete++;
+  }
+  if (complete < pool.info.min_size) {
     want_acting.clear();
     return false;
   }