diff options
author | Sage Weil <sage@inktank.com> | 2013-02-21 11:15:58 -0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-02-23 08:34:07 -0800 |
commit | 8235b16c1afb9010b6f4b8b6cb00367223ee6fe4 (patch) | |
tree | 59a3b7d0a789b59086854d29f1ededdd97af1812 | |
parent | 8c05af5dc3c398dda4c196a64f344db7ea69d209 (diff) | |
download | ceph-8235b16c1afb9010b6f4b8b6cb00367223ee6fe4.tar.gz |
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 <sage@inktank.com>
(cherry picked from commit 4277265d99647c9fe950ba627e5d86234cfd70a9)
-rw-r--r-- | src/osd/osd_types.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index c3827a4680b..135f1fb3130 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) { |