From: Mykola Golub Date: Thu, 9 Jul 2020 13:36:39 +0000 (+0100) Subject: librbd: properly unregister failed async_complete request X-Git-Tag: wip-pdonnell-testing-20200918.022351~597^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=143179ffa92ce64d89fc98d6d6c9e7a3722a12f2;p=ceph-ci.git librbd: properly unregister failed async_complete request Signed-off-by: Mykola Golub --- diff --git a/src/librbd/ImageWatcher.cc b/src/librbd/ImageWatcher.cc index ea116829d20..7ec16567a7a 100644 --- a/src/librbd/ImageWatcher.cc +++ b/src/librbd/ImageWatcher.cc @@ -159,12 +159,13 @@ void ImageWatcher::handle_async_complete(const AsyncRequestId &request, << cpp_strerror(ret_val) << dendl; if (ret_val == -ETIMEDOUT && !is_unregistered()) { schedule_async_complete(request, r); + m_async_op_tracker.finish_op(); + return; } - } else { - std::unique_lock async_request_locker{m_async_request_lock}; - m_async_pending.erase(request); } + std::unique_lock async_request_locker{m_async_request_lock}; + m_async_pending.erase(request); m_async_op_tracker.finish_op(); }