From: Douglas Fuller Date: Fri, 22 Jan 2016 19:18:40 +0000 (-0800) Subject: rbd: remove canceled tasks from timer thread X-Git-Tag: v10.0.4~168^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2aa0f318c862dbe3027d74d345671506605778eb;p=ceph.git 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 --- 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); } }