]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: invalidate cache outside cache callback context
authorJason Dillaman <dillaman@redhat.com>
Tue, 23 Jun 2015 18:18:20 +0000 (14:18 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 23 Jun 2015 18:18:20 +0000 (14:18 -0400)
commit726d699b7790c7e371279281ab32cd3aeb8ece7b
tree5e2a2280be77516c05aaca98088f40edb3b2dd6a
parentb806b00a7984db92306541a0a2699beb029032da
librbd: invalidate cache outside cache callback context

When shrinking an image, it's possible that the op flush callback
will be from within the cache callback context.  This would result
in a deadlock when attempting to re-lock the cache lock in order to
invalidate the cache.

Fixes: #11743
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/AsyncRequest.cc
src/librbd/AsyncRequest.h
src/librbd/AsyncResizeRequest.cc