From 4f15332db307b138444b007d13b5670c141b1d18 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Thu, 18 Feb 2016 17:58:28 -0500 Subject: [PATCH] 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 --- src/librbd/ImageState.cc | 8 -------- src/librbd/ImageState.h | 1 - 2 files changed, 9 deletions(-) diff --git a/src/librbd/ImageState.cc b/src/librbd/ImageState.cc index b09e4d928293f..11a1ee15f734c 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 f6a170bd896bc..5b6c0cee5d042 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); -- 2.39.5