]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: delay invalidation of exclusive lock pointer
authorJason Dillaman <dillaman@redhat.com>
Tue, 12 Apr 2016 19:35:08 +0000 (15:35 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 12 Apr 2016 20:23:44 +0000 (16:23 -0400)
commite90e3d90eb98006114173f660311e37bb4aa8cbd
tree8bd3f78bd0345f67fdbe1ae28e5efb76803418b6
parent1e6fc45337d07a377f405d27ba0b06cc8bb18d36
librbd: delay invalidation of exclusive lock pointer

Certain IO and maintenance ops code paths have an expectation
that the exclusive lock pointer will be valid while in-flight.
Let the exclusive lock state machine clean up the pointer after
it has flushed all IO and canceled all ops.

Fixes: http://tracker.ceph.com/issues/15471
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/ExclusiveLock.cc
src/librbd/ExclusiveLock.h
src/librbd/image/CloseRequest.cc
src/librbd/image/RefreshRequest.cc
src/test/librbd/image/test_mock_RefreshRequest.cc