From 611572a6103e20d3e3abf3530ea33e539b9db371 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Tue, 2 May 2017 09:34:53 +0800 Subject: [PATCH] OSD: stop mgrc earlier in shutdown() it's better this way, as MgrClient is more like an internal consumer of the services offered by OSD, instead of service privider. it could prevent future problem if we can stop it earlier in the shutdown process. see also: http://tracker.ceph.com/issues/19638 Signed-off-by: Kefu Chai --- src/osd/OSD.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index d1bb2d96445..8f290f1c3ec 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2947,7 +2947,8 @@ int OSD::shutdown() cct->_conf->set_val("debug_ms", "100"); cct->_conf->apply_changes(NULL); - mgrc.set_pgstats_cb(std::function()); + // stop MgrClient earlier as it's more like an internal consumer of OSD + mgrc.shutdown(); service.start_shutdown(); @@ -3110,7 +3111,6 @@ int OSD::shutdown() store = 0; dout(10) << "Store synced" << dendl; - mgrc.shutdown(); monc->shutdown(); osd_lock.Unlock(); -- 2.39.5