]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PeeringState.h: ignore RemoteBackfillReserved in WaitLocalBackfillReserved 33525/head
authorNeha <nojha@redhat.com>
Tue, 25 Feb 2020 03:01:41 +0000 (03:01 +0000)
committerNeha <nojha@redhat.com>
Tue, 25 Feb 2020 03:13:51 +0000 (03:13 +0000)
commit61152ac29654a819eb961e5fc2d7f63b706e15c9
tree007bd20d10c5f14b274a3cfb56c5d2fba6708dff
parent16a11f795a1020e897914b411383e91ff41fb214
osd/PeeringState.h: ignore RemoteBackfillReserved in WaitLocalBackfillReserved

It is possible to dequeue an outstanding RemoteBackfillReserved, though we may have
already released reservations for that backfill target. Currently, if this happens
while we are in WaitLocalBackfillReserved, it can lead to a crash on the primary.
Prevent this by treating this condition as a no-op.

The longer term fix is to add a RELEASE_ACK mechanism, which prevents the primary
from scheduling a backfill retry until all the RELEASE_ACKs have been received.

Fixes: https://tracker.ceph.com/issues/44248
Signed-off-by: Neha Ojha <nojha@redhat.com>
src/osd/PeeringState.h