osd: EC Optimizations OSDMap::clean_temps preventing change of primary
clean_temps is clearing pg_temp if the acting set will be the same
as the up set. For optimized EC pools this is overaggressive because
there are scenarios where it is setting acting set to be the same as
up set to force an alternative shard to be chosen as primary - this
happens because the acting set is transformed to place non-primary
shards at the end of the pg_temp vector.
Detect this scenario and stop clean_temps from undoing the acting
set which is being set by PeeringState::choose_acting.
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
(cherry picked from commit
9d9265337a43b3edab8a3c41752baaca835be92a)