]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PrimaryLogPG: fix on_local_recover crash on stray clone 22396/head
authorSage Weil <sage@redhat.com>
Mon, 4 Jun 2018 17:51:11 +0000 (12:51 -0500)
committerSage Weil <sage@redhat.com>
Tue, 5 Jun 2018 16:09:01 +0000 (11:09 -0500)
commit154330fd68d952a4e1b972891f02b6dc9c355424
treea1a5279b1ff246c9a82fbb218032c38f58f13c06
parent89a5ac9c6bef3666d63b81653e0a6fa8c3934110
osd/PrimaryLogPG: fix on_local_recover crash on stray clone

If there is a stray clone (one that does not appear in the SnapSet) and
we do any sort of recovery on it the OSD will crash.  Log an error instead
but continue.

This addresses a problem where a cluster has both (1) an unexpected clone
and (2) the clone is not present on all replicas.  Doing repair on that
PG will both not fix the unexpected clone and also cause the remaining
OSDs to crash trying to recover it.

Include a test.

Fixes: https://tracker.ceph.com/issues/24396
Signed-off-by: Sage Weil <sage@redhat.com>
qa/standalone/scrub/osd-unexpected-clone.sh [new file with mode: 0755]
src/osd/PrimaryLogPG.cc