From: Yingxin Cheng Date: Sun, 19 Jan 2020 07:33:58 +0000 (+0800) Subject: crimson: shutdown messengers before deallocate OSD X-Git-Tag: v15.1.1~394^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b9e3b15c07968a2fc69698afe96fa33de4b05b0d;p=ceph.git crimson: shutdown messengers before deallocate OSD Stop dispatching events from messenger when OSD is about to stop and deallocate. Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/osd/heartbeat.cc b/src/crimson/osd/heartbeat.cc index 2fdfe1abee5e..12f6be2769b8 100644 --- a/src/crimson/osd/heartbeat.cc +++ b/src/crimson/osd/heartbeat.cc @@ -71,7 +71,8 @@ Heartbeat::start_messenger(crimson::net::Messenger& msgr, seastar::future<> Heartbeat::stop() { - return seastar::now(); + return seastar::when_all_succeed(front_msgr.shutdown(), + back_msgr.shutdown()); } const entity_addrvec_t& Heartbeat::get_front_addrs() const diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index fcbfe47f8374..8e49d1222037 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -400,6 +400,10 @@ seastar::future<> OSD::stop() return heartbeat->stop(); }).then([this] { return monc->stop(); + }).then([this] { + return when_all_succeed( + public_msgr.shutdown(), + cluster_msgr.shutdown()); }).then([this] { return store->umount(); }).handle_exception([](auto ep) {