If the pool size recently changed, we might see an up that is larger than
the pool size. Or, we might already have selected a primary that is not
part of up, and then add all up osds and end up with a want that is too
big.
Fixes: http://tracker.ceph.com/issues/35924
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
c3e2990c39952a1fc4593076c5b2f0dea6cdcdd3)
usable++;
ss << " osd." << *i << " (up) accepted " << cur_info << std::endl;
}
+ if (want->size() >= size) {
+ break;
+ }
}
// This no longer has backfill OSDs, but they are covered above.