In this variant of get_primary_shard, the function attempts to undo
the primaryfirst ordering. This is incorrect, because pg_to_acting_osds
has already applied this.
The fix is simply to remove this code.
This is unlikely to be a significant problem, as this function is not
used in the critical locations. We are building new test harnesses
which will rely on this behaviour.
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
if (poolit->second.is_erasure()) {
for (uint8_t i = 0; i < acting.size(); ++i) {
if (acting[i] == *primary) {
- *out = spg_t(pgid, pgtemp_undo_primaryfirst(poolit->second, pgid, shard_id_t(i)));
+ *out = spg_t(pgid, shard_id_t(i));
return true;
}
}