Messenger *messenger_hb_front_server = Messenger::create(g_ceph_context,
entity_name_t::OSD(whoami), "hb_front_server",
getpid());
+ Messenger *messenger_objecter = Messenger::create(g_ceph_context,
+ entity_name_t::OSD(whoami), "hbclient",
+ getpid());
cluster_messenger->set_cluster_protocol(CEPH_OSD_PROTOCOL);
messenger_hbclient->set_cluster_protocol(CEPH_OSD_PROTOCOL);
messenger_hb_back_server->set_cluster_protocol(CEPH_OSD_PROTOCOL);
messenger_hb_front_server->set_policy(entity_name_t::TYPE_OSD,
Messenger::Policy::stateless_server(0, 0));
+ messenger_objecter->set_default_policy(Messenger::Policy::lossy_client(0, CEPH_FEATURE_OSDREPLYMUX));
+
r = client_messenger->bind(g_conf->public_addr);
if (r < 0)
exit(1);
osd = new OSD(whoami, cluster_messenger, client_messenger,
messenger_hbclient, messenger_hb_front_server, messenger_hb_back_server,
+ messenger_objecter,
&mc,
g_conf->osd_data, g_conf->osd_journal);
messenger_hb_front_server->start();
messenger_hb_back_server->start();
cluster_messenger->start();
+ messenger_objecter->start();
// start osd
err = osd->init();
messenger_hb_front_server->wait();
messenger_hb_back_server->wait();
cluster_messenger->wait();
+ messenger_objecter->wait();
unregister_async_signal_handler(SIGHUP, sighup_handler);
unregister_async_signal_handler(SIGINT, handle_osd_signal);
delete messenger_hb_front_server;
delete messenger_hb_back_server;
delete cluster_messenger;
+ delete messenger_objecter;
client_byte_throttler.reset();
client_msg_throttler.reset();
g_ceph_context->put();
Messenger *hb_clientm,
Messenger *hb_front_serverm,
Messenger *hb_back_serverm,
+ Messenger *osdc_messenger,
MonClient *mc,
const std::string &dev, const std::string &jdev) :
Dispatcher(external_messenger->cct),
cct->_conf->auth_service_required)),
cluster_messenger(internal_messenger),
client_messenger(external_messenger),
+ objecter_messenger(osdc_messenger),
monc(mc),
logger(NULL),
recoverystate_perf(NULL),
client_messenger->shutdown();
cluster_messenger->shutdown();
hbclient_messenger->shutdown();
+ objecter_messenger->shutdown();
hb_front_server_messenger->shutdown();
hb_back_server_messenger->shutdown();
peering_wq.clear();
Messenger *cluster_messenger;
Messenger *client_messenger;
+ Messenger *objecter_messenger;
MonClient *monc;
PerfCounters *logger;
PerfCounters *recoverystate_perf;
* be cleaned up properly*/
OSD(int id, Messenger *internal, Messenger *external,
Messenger *hb_client, Messenger *hb_front_server, Messenger *hb_back_server,
+ Messenger *osdc_messenger,
MonClient *mc, const std::string &dev, const std::string &jdev);
~OSD();