]> 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:04:20 +0000 (08:04 -0400)
commitb6615582ade1a6201a933fcf825289fa1f2f4cb9
tree991a89c0dbbb4b7b0d0bc9b32c5e1ab8f00bd8a3
parenta0c8372f7225452087fbbe6d1eff8e8f797fc1c9
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