From: Jason Dillaman Date: Fri, 14 Aug 2015 20:23:13 +0000 (-0400) Subject: librbd: drain op work queue after shutting down journal X-Git-Tag: v10.0.2~193^2~23 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9df7e39ddf2fc8fa373155d3ed7d03115e202365;p=ceph.git librbd: drain op work queue after shutting down journal Signed-off-by: Jason Dillaman --- diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index e296068d001..59dce0a6e99 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -2846,8 +2846,6 @@ int invoke_async_request(ImageCtx *ictx, const std::string& request_type, } } - ictx->op_work_queue->drain(); - if (ictx->copyup_finisher != NULL) { ictx->copyup_finisher->wait_for_empty(); ictx->copyup_finisher->stop(); @@ -2860,6 +2858,8 @@ int invoke_async_request(ImageCtx *ictx, const std::string& request_type, } } + ictx->op_work_queue->drain(); + if (ictx->parent) { RWLock::WLocker parent_locker(ictx->parent_lock); int close_r = close_parent(ictx);