From 3ad19ae349ebb27ff6027e40883735240fa97a3c Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Thu, 30 Apr 2015 13:42:19 -0400 Subject: [PATCH] librbd: AioCompletion shouldn't hold its lock during callback The callback routine most likely will attempt to retrieve the result code, which will result in a recursive lock attempt. Signed-off-by: Jason Dillaman --- src/librbd/AioCompletion.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/librbd/AioCompletion.cc b/src/librbd/AioCompletion.cc index 40dbc0aa08133..ec7f6846ffb4c 100644 --- a/src/librbd/AioCompletion.cc +++ b/src/librbd/AioCompletion.cc @@ -89,7 +89,9 @@ namespace librbd { } if (complete_cb) { + lock.Unlock(); complete_cb(rbd_comp, complete_arg); + lock.Lock(); } done = true; cond.Signal(); -- 2.39.5