osd: move down peers out from peer_purged
f7c5b01e18 tried to fix this, but adding peer_purged.erase() into
the peer_info loop made no effect because in purge_strays() when
inserting an osd to peer_purged we simultaneously remove it from
peer_info.
So it should be a separate loop through peer_purged list.
Fixes: https://tracker.ceph.com/issues/38931
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit
64dc3c846ab9b1491459799ed249502599878834)
Conflicts:
src/osd/PeeringState.cc (does not exist, the code is in PG.cc)