]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: do not invalidate object map when attempting to delete non-existent snapshot
authorJason Dillaman <dillaman@redhat.com>
Fri, 14 Sep 2018 15:46:13 +0000 (11:46 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 4 Oct 2018 12:05:40 +0000 (08:05 -0400)
commitf63078017b3785d88dc139bb92b935d9f27c24d5
tree4c673d09968ead748646a493e9de79c9fd141cc8
parent4a6350e1ecbf281aeaf986b7854eaa99dd0243ba
librbd: do not invalidate object map when attempting to delete non-existent snapshot

If duplicate snapshot remove requests are received by the lock owner from a peer
client, the first request will remove the object map. If the second request
arrives while the first is in-progress, it will again attempt to remove the
object map but fail to load it since it's already been deleted. This incorrectly
results in the next object map being flagged as invalid.

Fixes: http://tracker.ceph.com/issues/24516
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0a31c55ea83d85da88c7586c9a8fa8d6ec6618a7)

Conflicts:
src/librbd/object_map/SnapshotRemoveRequest.cc: trivial resolution
src/librbd/object_map/SnapshotRemoveRequest.cc
src/librbd/object_map/SnapshotRemoveRequest.h
src/test/librbd/object_map/test_mock_SnapshotRemoveRequest.cc