From: Mykola Golub Date: Mon, 7 Mar 2016 11:14:15 +0000 (+0200) Subject: rbd-mirror: avoid recursive lock in timer X-Git-Tag: v10.1.0~186^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f7eb860d488c832ca664996b52feefb8dbe4cd00;p=ceph.git rbd-mirror: avoid recursive lock in timer m_lock is used both by m_timer and refresh_images(), which is scheduled by the timer, so run it with `safe_callbacks = false`. Signed-off-by: Mykola Golub --- diff --git a/src/tools/rbd_mirror/PoolWatcher.cc b/src/tools/rbd_mirror/PoolWatcher.cc index ea05584365db..8029c07f8040 100644 --- a/src/tools/rbd_mirror/PoolWatcher.cc +++ b/src/tools/rbd_mirror/PoolWatcher.cc @@ -36,7 +36,7 @@ PoolWatcher::PoolWatcher(RadosRef cluster, double interval_seconds, m_refresh_cond(cond), m_stopping(false), m_cluster(cluster), - m_timer(g_ceph_context, m_lock), + m_timer(g_ceph_context, m_lock, false), m_interval(interval_seconds) { m_timer.init();