From: Neha Ojha Date: Thu, 22 Feb 2018 22:09:45 +0000 (-0800) Subject: PG: want set size should not be below min_size X-Git-Tag: v13.1.0~548^2~7 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=6ea566d3e0f5520b3a324b287670b1b0ddd60b5d;p=ceph.git PG: want set size should not be below min_size Signed-off-by: Neha Ojha --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index e82d250e00a49..8fa38b163be96 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1571,9 +1571,11 @@ void PG::choose_async_recovery_replicated(const map &all_ dout(20) << __func__ << " candidates by cost are: " << candidates_by_cost << dendl; - // take out as many osds as we can for async recovery, in order of cost for (auto weighted_shard : candidates_by_cost) { + if (want->size() <= pool.info.min_size) { + break; + } pg_shard_t cur_shard = weighted_shard.second; vector candidate_want(*want); for (auto it = candidate_want.begin(); it != candidate_want.end(); ++it) { @@ -1584,9 +1586,6 @@ void PG::choose_async_recovery_replicated(const map &all_ break; } } - if (want->size() <= pool.info.min_size) { - break; - } } dout(20) << __func__ << " result want=" << *want << " async_recovery=" << *async_recovery << dendl;