From: Jason Dillaman Date: Tue, 16 Feb 2016 01:52:16 +0000 (-0500) Subject: Revert "librbd: lock notifications should be executed outside librados thread" X-Git-Tag: v10.1.0~357^2~9 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2c656171e4bd7176eb0da6a2cdc1adab0b03995b;p=ceph-ci.git Revert "librbd: lock notifications should be executed outside librados thread" This reverts commit d898995b0e3ea301b1325f68a0532d57afa3c816. Signed-off-by: Jason Dillaman --- diff --git a/src/librbd/ImageWatcher.cc b/src/librbd/ImageWatcher.cc index 66e9a0b0daa..42e92cafbae 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 873ba34ca49..298cc9acbe3 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);