From a3ac03e5ae3511b5452ac723bdd53f897e2304c8 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Mon, 4 Jan 2016 23:13:16 -0500 Subject: [PATCH] journal: disconnect watch after watch error Fixes: #14168 Signed-off-by: Jason Dillaman --- src/journal/JournalMetadata.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/journal/JournalMetadata.cc b/src/journal/JournalMetadata.cc index 90363c25b7db..0cd935f2f2e0 100644 --- a/src/journal/JournalMetadata.cc +++ b/src/journal/JournalMetadata.cc @@ -364,6 +364,13 @@ void JournalMetadata::handle_watch_error(int err) { lderr(m_cct) << "journal watch error: " << cpp_strerror(err) << dendl; Mutex::Locker timer_locker(m_timer_lock); Mutex::Locker locker(m_lock); + + // release old watch on error + if (m_watch_handle != 0) { + m_ioctx.unwatch2(m_watch_handle); + m_watch_handle = 0; + } + if (m_initialized && err != -ENOENT) { schedule_watch_reset(); } -- 2.47.3