From: Sage Weil Date: Thu, 21 Feb 2013 19:15:58 +0000 (-0800) Subject: osd: an interval can't go readwrite if its acting is empty X-Git-Tag: v0.58~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8235b16c1afb9010b6f4b8b6cb00367223ee6fe4;p=ceph.git osd: an interval can't go readwrite if its acting is empty Let's not forget that min_size can be zero. Fixes: #4159 Signed-off-by: Sage Weil (cherry picked from commit 4277265d99647c9fe950ba627e5d86234cfd70a9) --- diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index c3827a4680b9..135f1fb3130a 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -1597,7 +1597,8 @@ bool pg_interval_t::check_new_interval( i.acting = old_acting; i.up = old_up; - if (i.acting.size() >= + if (!i.acting.empty() && + i.acting.size() >= osdmap->get_pools().find(pool_id)->second.min_size) { if (lastmap->get_up_thru(i.acting[0]) >= i.first && lastmap->get_up_from(i.acting[0]) <= i.first) {