]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: flush pending AIO after acquiring lock 3812/head
authorJason Dillaman <dillaman@redhat.com>
Fri, 27 Feb 2015 14:46:55 +0000 (09:46 -0500)
committerJason Dillaman <dillaman@redhat.com>
Mon, 2 Mar 2015 13:31:45 +0000 (08:31 -0500)
commite2283e3066f5929b1a8cf56d627d8acc22f5f040
tree8b13dc1cb1ab73c7e88bfc2f33e1c0c2680a9abb
parent472db64e2ee8aab7b6bb898573c3c51ac73bb511
librbd: flush pending AIO after acquiring lock

There was a potential race condition between a delayed AIO
operation waiting on acquiring a lock and a snap_create
flushing all pending IO.  Since snap_create owned md_lock, the
delayed AIO would not be allowed to complete -- deadlocking the
flush.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/internal.cc