mirror of
https://github.com/ceph/ceph
synced 2025-03-20 01:07:42 +00:00
mon/OSDMonitor: do not populate void pg_temp into nextmap
Due to commit ea723fb
, pg_temp with clean acting set are added to inc map.
The original intent was to clear out pg_temps during priming, but as
written it would set a new_pg_temp item clearing the pg_temp even if one
didn't already exist. Adding the up != acting condition in there makes us
only take that path if there is an existing pg_temp entry to remove.
Fixes: https://tracker.ceph.com/issues/37784
Signed-off-by: Aleksei Zakharov <zakharov.a.g@yandex.ru>
This commit is contained in:
parent
e0d538d3f5
commit
b1d3ca5e78
@ -979,7 +979,8 @@ void OSDMonitor::prime_pg_temp(
|
||||
int next_up_primary, next_acting_primary;
|
||||
next.pg_to_up_acting_osds(pgid, &next_up, &next_up_primary,
|
||||
&next_acting, &next_acting_primary);
|
||||
if (acting == next_acting && next_up != next_acting)
|
||||
if (acting == next_acting &&
|
||||
!(up != acting && next_up == next_acting))
|
||||
return; // no change since last epoch
|
||||
|
||||
if (acting.empty())
|
||||
|
Loading…
Reference in New Issue
Block a user