]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: don't hold owner lock while refreshing image synchronously 7668/head
authorJason Dillaman <dillaman@redhat.com>
Thu, 18 Feb 2016 22:58:28 +0000 (17:58 -0500)
committerJason Dillaman <dillaman@redhat.com>
Thu, 18 Feb 2016 22:58:28 +0000 (17:58 -0500)
The write lock will be taken when the new state is applied.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/ImageState.cc
src/librbd/ImageState.h

index b09e4d928293ff4f56a7a0a08e41d6f1e4a6837a..11a1ee15f734c9b45d59dc99133c72fc229e9cb1 100644 (file)
@@ -118,14 +118,6 @@ void ImageState<I>::refresh(Context *on_finish) {
 
 template <typename I>
 int ImageState<I>::refresh_if_required() {
-  RWLock::RLocker owner_locker(m_image_ctx->owner_lock);
-  return refresh_if_required(m_image_ctx->owner_lock);
-}
-
-template <typename I>
-int ImageState<I>::refresh_if_required(const RWLock &) {
-  assert(m_image_ctx->owner_lock.is_locked());
-
   C_SaferCond ctx;
   {
     Mutex::Locker locker(m_lock);
index f6a170bd896bc73ea9613958cba11b88033182d2..5b6c0cee5d0420ece3aae921b34e3fbe9ffcdede 100644 (file)
@@ -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);