vector<int> *_want,
set<pg_shard_t> *backfill,
set<pg_shard_t> *acting_backfill,
- pg_shard_t *want_primary,
ostream &ss)
{
vector<int> want(size, CRUSH_ITEM_NONE);
}
}
- bool found_primary = false;
for (uint8_t i = 0; i < want.size(); ++i) {
if (want[i] != CRUSH_ITEM_NONE) {
acting_backfill->insert(pg_shard_t(want[i], shard_id_t(i)));
- if (!found_primary) {
- *want_primary = pg_shard_t(want[i], shard_id_t(i));
- found_primary = true;
- }
}
}
acting_backfill->insert(backfill->begin(), backfill->end());
vector<int> *want,
set<pg_shard_t> *backfill,
set<pg_shard_t> *acting_backfill,
- pg_shard_t *want_primary,
ostream &ss)
{
ss << "calc_acting newest update on osd." << auth_log_shard->first
ss << "calc_acting primary is osd." << primary->first
<< " with " << primary->second << std::endl;
- *want_primary = primary->first;
want->push_back(primary->first.osd);
acting_backfill->insert(primary->first);
unsigned usable = 1;
set<pg_shard_t> want_backfill, want_acting_backfill;
vector<int> want;
- pg_shard_t want_primary;
stringstream ss;
if (!pool.info.is_erasure())
calc_replicated_acting(
&want,
&want_backfill,
&want_acting_backfill,
- &want_primary,
ss);
else
calc_ec_acting(
&want,
&want_backfill,
&want_acting_backfill,
- &want_primary,
ss);
dout(10) << ss.str() << dendl;
vector<int> *want,
set<pg_shard_t> *backfill,
set<pg_shard_t> *acting_backfill,
- pg_shard_t *want_primary,
ostream &ss);
static void calc_replicated_acting(
map<pg_shard_t, pg_info_t>::const_iterator auth_log_shard,
vector<int> *want,
set<pg_shard_t> *backfill,
set<pg_shard_t> *acting_backfill,
- pg_shard_t *want_primary,
ostream &ss);
bool choose_acting(pg_shard_t &auth_log_shard,
bool restrict_to_up_acting,