From: Sage Weil Date: Sat, 22 Jul 2017 17:48:00 +0000 (-0400) Subject: mgr/DaemonServer: fix lock cycle X-Git-Tag: v12.1.2~157^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d7ba56f4214148a2378adcf47da9916a752bc7a0;p=ceph.git mgr/DaemonServer: fix lock cycle This breaks a lock cycle with DaemonState::lock and PyModules::lock. Signed-off-by: Sage Weil --- diff --git a/src/mgr/DaemonServer.cc b/src/mgr/DaemonServer.cc index 16729abc246c..dffa6b7c3b91 100644 --- a/src/mgr/DaemonServer.cc +++ b/src/mgr/DaemonServer.cc @@ -398,9 +398,11 @@ bool DaemonServer::handle_report(MMgrReport *m) // always contains metadata. } assert(daemon != nullptr); - Mutex::Locker l(daemon->lock); auto &daemon_counters = daemon->perf_counters; - daemon_counters.update(m); + { + Mutex::Locker l(daemon->lock); + daemon_counters.update(m); + } // if there are any schema updates, notify the python modules if (!m->declare_types.empty() || !m->undeclare_types.empty()) { ostringstream oss;