]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PeeringState.cc: skip peer_purged when discovering all missing 32847/head
authorNeha <nojha@redhat.com>
Wed, 11 Dec 2019 23:47:19 +0000 (23:47 +0000)
committerNathan Cutler <ncutler@suse.com>
Fri, 24 Jan 2020 16:39:07 +0000 (17:39 +0100)
commit8a7f06d101b9ca2d5f2ce854bcaa206671c81d1d
treed60d837463a7533db74a16f2df9f7c9bd2c313c5
parentb3d662aad44afaebb123540bd2b5ed93199910ec
osd/PeeringState.cc: skip peer_purged when discovering all missing

We hit a couple of bugs because in discover_all_missing() we send
pg_query to an OSD that was marked stray and already got purged. This results
in a state machine crash on the purged OSD. Fix this by skipping any
purged peers.

Fixes: https://tracker.ceph.com/issues/41317
Fixes: https://tracker.ceph.com/issues/40963
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit 4960f579a234f9984d73767fde073c419e884c17)

Conflicts:
src/osd/PeeringState.cc
- file does not exist in nautilus; made the changes manually in
  src/osd/PG.cc
src/osd/PG.cc