From: Jason Dillaman Date: Thu, 18 Feb 2016 22:58:28 +0000 (-0500) Subject: librbd: don't hold owner lock while refreshing image synchronously X-Git-Tag: v10.1.0~357^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F7668%2Fhead;p=ceph.git librbd: don't hold owner lock while refreshing image synchronously The write lock will be taken when the new state is applied. Signed-off-by: Jason Dillaman --- diff --git a/src/librbd/ImageState.cc b/src/librbd/ImageState.cc index b09e4d928293..11a1ee15f734 100644 --- a/src/librbd/ImageState.cc +++ b/src/librbd/ImageState.cc @@ -118,14 +118,6 @@ void ImageState::refresh(Context *on_finish) { template int ImageState::refresh_if_required() { - RWLock::RLocker owner_locker(m_image_ctx->owner_lock); - return refresh_if_required(m_image_ctx->owner_lock); -} - -template -int ImageState::refresh_if_required(const RWLock &) { - assert(m_image_ctx->owner_lock.is_locked()); - C_SaferCond ctx; { Mutex::Locker locker(m_lock); diff --git a/src/librbd/ImageState.h b/src/librbd/ImageState.h index f6a170bd896b..5b6c0cee5d04 100644 --- a/src/librbd/ImageState.h +++ b/src/librbd/ImageState.h @@ -36,7 +36,6 @@ public: int refresh(); void refresh(Context *on_finish); int refresh_if_required(); - int refresh_if_required(const RWLock &owner_lock); void snap_set(const std::string &snap_name, Context *on_finish);