From: Jason Dillaman Date: Tue, 5 Jan 2016 04:13:16 +0000 (-0500) Subject: journal: disconnect watch after watch error X-Git-Tag: v10.0.2~12^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F7113%2Fhead;p=ceph.git journal: disconnect watch after watch error Fixes: #14168 Signed-off-by: Jason Dillaman --- 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(); }