From 2c656171e4bd7176eb0da6a2cdc1adab0b03995b Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Mon, 15 Feb 2016 20:52:16 -0500 Subject: [PATCH] Revert "librbd: lock notifications should be executed outside librados thread" This reverts commit d898995b0e3ea301b1325f68a0532d57afa3c816. Signed-off-by: Jason Dillaman --- src/librbd/ImageWatcher.cc | 23 +---------------------- src/librbd/ImageWatcher.h | 3 --- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/src/librbd/ImageWatcher.cc b/src/librbd/ImageWatcher.cc index 66e9a0b0daa5..42e92cafbae3 100644 --- a/src/librbd/ImageWatcher.cc +++ b/src/librbd/ImageWatcher.cc @@ -290,13 +290,6 @@ ClientId ImageWatcher::get_client_id() { } void ImageWatcher::notify_acquired_lock() { - // might be invoked from librados AIO thread - FunctionContext *ctx = new FunctionContext( - boost::bind(&ImageWatcher::execute_acquired_lock, this)); - m_task_finisher->queue(TASK_CODE_ACQUIRED_LOCK, ctx); -} - -void ImageWatcher::execute_acquired_lock() { ldout(m_image_ctx.cct, 10) << this << " notify acquired lock" << dendl; ClientId client_id = get_client_id(); @@ -311,13 +304,6 @@ void ImageWatcher::execute_acquired_lock() { } void ImageWatcher::notify_released_lock() { - // might be invoked from librados AIO thread - FunctionContext *ctx = new FunctionContext( - boost::bind(&ImageWatcher::execute_released_lock, this)); - m_task_finisher->queue(TASK_CODE_RELEASED_LOCK, ctx); -} - -void ImageWatcher::execute_released_lock() { ldout(m_image_ctx.cct, 10) << this << " notify released lock" << dendl; { @@ -345,7 +331,7 @@ void ImageWatcher::schedule_request_lock(bool use_timer, int timer_delay) { ldout(m_image_ctx.cct, 15) << this << " requesting exclusive lock" << dendl; FunctionContext *ctx = new FunctionContext( - boost::bind(&ImageWatcher::execute_request_lock, this)); + boost::bind(&ImageWatcher::notify_request_lock, this)); if (use_timer) { if (timer_delay < 0) { timer_delay = RETRY_DELAY_SECONDS; @@ -359,13 +345,6 @@ void ImageWatcher::schedule_request_lock(bool use_timer, int timer_delay) { } void ImageWatcher::notify_request_lock() { - // might be invoked from librados AIO thread - FunctionContext *ctx = new FunctionContext( - boost::bind(&ImageWatcher::execute_request_lock, this)); - m_task_finisher->queue(TASK_CODE_REQUEST_LOCK, ctx); -} - -void ImageWatcher::execute_request_lock() { RWLock::RLocker owner_locker(m_image_ctx.owner_lock); ldout(m_image_ctx.cct, 10) << this << " notify request lock" << dendl; diff --git a/src/librbd/ImageWatcher.h b/src/librbd/ImageWatcher.h index 873ba34ca49e..298cc9acbe3b 100644 --- a/src/librbd/ImageWatcher.h +++ b/src/librbd/ImageWatcher.h @@ -230,9 +230,6 @@ private: void set_owner_client_id(const watch_notify::ClientId &client_id); watch_notify::ClientId get_client_id(); - void execute_acquired_lock(); - void execute_released_lock(); - void execute_request_lock(); void schedule_request_lock(bool use_timer, int timer_delay = -1); int notify_lock_owner(bufferlist &bl); -- 2.47.3