From 2aa0f318c862dbe3027d74d345671506605778eb Mon Sep 17 00:00:00 2001 From: Douglas Fuller Date: Fri, 22 Jan 2016 11:18:40 -0800 Subject: rbd: remove canceled tasks from timer thread When canceling scheduled tasks using the timer thread, TaskFinisher::cancel does not call SafeTimer::cancel_event, so events fire anyway. Add this call. Fixes: #14476 Signed-off-by: Douglas Fuller --- src/librbd/TaskFinisher.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/librbd/TaskFinisher.h b/src/librbd/TaskFinisher.h index 43ec51796c5..201ff01380c 100644 --- a/src/librbd/TaskFinisher.h +++ b/src/librbd/TaskFinisher.h @@ -45,6 +45,7 @@ public: typename TaskContexts::iterator it = m_task_contexts.find(task); if (it != m_task_contexts.end()) { delete it->second.first; + m_safe_timer->cancel_event(it->second.second); m_task_contexts.erase(it); } } -- cgit v1.2.3