From: Kefu Chai Date: Tue, 2 May 2017 01:34:53 +0000 (+0800) Subject: OSD: stop mgrc earlier in shutdown() X-Git-Tag: v12.0.3~131^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F14904%2Fhead;p=ceph.git 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 --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index d1bb2d96445e..8f290f1c3ec8 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();