From: Kefu Chai Date: Fri, 15 Feb 2019 17:00:02 +0000 (+0800) Subject: crimson/osd: populate crc settings X-Git-Tag: v14.1.0~61^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2732488d7ace840d4e4867923c2cabd15db61ecc;p=ceph.git crimson/osd: populate crc settings we should populate messenger related settings before starting messengers. Signed-off-by: Kefu Chai --- diff --git a/src/crimson/osd/heartbeat.cc b/src/crimson/osd/heartbeat.cc index 0d818b24f54d..6dfefb3ba691 100644 --- a/src/crimson/osd/heartbeat.cc +++ b/src/crimson/osd/heartbeat.cc @@ -53,26 +53,39 @@ seastar::future<> Heartbeat::start(entity_addrvec_t front_addrs, seastar::engine().cpu_id()) .then([this, front_addrs] (auto msgr) { front_msgr = msgr; - return front_msgr->try_bind(front_addrs, - local_conf()->ms_bind_port_min, - local_conf()->ms_bind_port_max); - }).then([this] { return front_msgr->start(this); }), + return start_messenger(front_msgr, front_addrs); + }), ceph::net::Messenger::create(entity_name_t::OSD(whoami), "hb_back", nonce, seastar::engine().cpu_id()) .then([this, back_addrs] (auto msgr) { back_msgr = msgr; - return back_msgr->try_bind(back_addrs, - local_conf()->ms_bind_port_min, - local_conf()->ms_bind_port_max); - }).then([this] { return back_msgr->start(this); })) + return start_messenger(back_msgr, back_addrs); + })) .then([this] { timer.arm_periodic( std::chrono::seconds(local_conf()->osd_heartbeat_interval)); }); } +seastar::future<> +Heartbeat::start_messenger(ceph::net::Messenger* msgr, + const entity_addrvec_t& addrs) +{ + if (local_conf()->ms_crc_data) { + msgr->set_crc_data(); + } + if (local_conf()->ms_crc_header) { + msgr->set_crc_header(); + } + return msgr->try_bind(addrs, + local_conf()->ms_bind_port_min, + local_conf()->ms_bind_port_max).then([msgr, this] { + return msgr->start(this); + }); +} + seastar::future<> Heartbeat::stop() { return seastar::when_all_succeed(front_msgr->shutdown(), diff --git a/src/crimson/osd/heartbeat.h b/src/crimson/osd/heartbeat.h index 209914e78d64..b5eb0f7c2d49 100644 --- a/src/crimson/osd/heartbeat.h +++ b/src/crimson/osd/heartbeat.h @@ -63,6 +63,8 @@ private: /// add enough reporters for fast failure detection void add_reporter_peers(int whoami); + seastar::future<> start_messenger(ceph::net::Messenger* msgr, + const entity_addrvec_t& addrs); private: const int whoami; const uint32_t nonce;