]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson: shutdown messengers before deallocate OSD
authorYingxin Cheng <yingxin.cheng@intel.com>
Sun, 19 Jan 2020 07:33:58 +0000 (15:33 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Wed, 12 Feb 2020 02:47:47 +0000 (10:47 +0800)
Stop dispatching events from messenger when OSD is about to stop and
deallocate.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/osd/heartbeat.cc
src/crimson/osd/osd.cc

index 2fdfe1abee5e6d19214eb194f39f5ac9d4dc43b2..12f6be2769b88e5eacdb83150431a2a95cab5395 100644 (file)
@@ -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
index fcbfe47f83746390785a087b586e021a811a6179..8e49d122203766c81117cd40610b74a9af12d16c 100644 (file)
@@ -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) {