We were adding them once from the acting set, and then once from the all_infos
set, and that hit an assert later on. (I think it was otherwise harmless, but
I don't want to weaken the assert!)
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
}
if (!restrict_to_up_acting) {
for (auto &[cand, info] : all_info) {
- if (!used(cand.osd) && usable_info(info)) {
+ if (!used(cand.osd) && usable_info(info) &&
+ (std::find(acting.begin(), acting.end(), cand.osd)
+ == acting.end())) {
ss << " other candidate " << cand << " " << info << std::endl;
candidates.push_back(
std::make_pair(get_osd_ord(false, info), cand.osd));