mon: do not prime pg_temp when the current acting is < min_size

The PG is down anyway.

Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
Sage Weil 2015-01-20 19:20:55 -08:00
parent 4fcbd1464d
commit 97a6969117

View File

@ -721,6 +721,11 @@ void OSDMonitor::prime_pg_temp(OSDMap& next,
&cur_acting, &acting_primary);
if (cur_acting == acting)
return; // no change this epoch; must be stale pg_stat
if (cur_acting.empty())
return; // if previously empty now we can be no worse off
const pg_pool_t *pool = next.get_pg_pool(pp->first.pool());
if (pool && cur_acting.size() < pool->min_size)
return; // can be no worse off than before
dout(20) << __func__ << " " << pp->first << " " << cur_up << "/" << cur_acting
<< " -> " << up << "/" << acting