From: Sage Weil Date: Tue, 1 Apr 2014 23:01:28 +0000 (-0700) Subject: PG: only complete replicas should count toward min_size X-Git-Tag: v0.67.9~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=14650b282ecd344025714a4e743b255ae01b3ce0;p=ceph.git PG: only complete replicas should count toward min_size Backport: emperor,dumpling,cuttlefish Fixes: #7805 Signed-off-by: Samuel Just Signed-off-by: Sage Weil (cherry picked from commit 0d5d3d1a30685e7c47173b974caa12076c43a9c4) --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 973559e455c..e8c039ee780 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1010,7 +1010,20 @@ bool PG::choose_acting(int& newest_update_osd) return false; } - if (want.size() < pool.info.min_size) { + unsigned complete = 0; + for (vector::iterator i = want.begin(); + i != want.end(); + ++i) { + if (*i == osd->whoami) { + if (!info.is_incomplete()) + ++complete; + } else { + assert(peer_info.count(*i)); + if (!peer_info[*i].is_incomplete()) + ++complete; + } + } + if (complete < pool.info.min_size) { want_acting.clear(); return false; }