]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: complete cache read in a new thread context
authorJason Dillaman <dillaman@redhat.com>
Thu, 30 Apr 2015 17:40:16 +0000 (13:40 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 28 Jul 2015 20:35:20 +0000 (16:35 -0400)
commit70041499f99cad551b3aab16f086f725b33b25e2
tree95b704ef1aa49560f4ef661f735a2ba0a8817d12
parent65ef695eba0f5b5d87347ffb3407bb5d6d75b402
librbd: complete cache read in a new thread context

The ObjectCacher complete the read callback while still holding
the cache lock.  This introduces lock ordering issues which are
resolved by queuing the completion to execute in a clean (unlocked)
context.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0024677dc8adfd610418ca47599dd95d3a5a6612)
src/librbd/AioCompletion.cc
src/librbd/AioCompletion.h
src/librbd/internal.cc