From 03aef0b67f0e637c5bc78a131d917ba227a604c3 Mon Sep 17 00:00:00 2001 From: Colin Patrick McCabe Date: Thu, 9 Jun 2011 17:56:41 -0700 Subject: [PATCH] Monitor: pass in CephContext explicitly Sometimes we create a Monitor without a Messenger. So we can't pull the CephContext out of the Messenger, because it may be NULL. Just specify it explicitly in the Monitor constructor. Signed-off-by: Colin McCabe --- src/cmon.cc | 4 ++-- src/mon/Monitor.cc | 4 ++-- src/mon/Monitor.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cmon.cc b/src/cmon.cc index 0995e7fb2cdbb..612a65fd0dd63 100644 --- a/src/cmon.cc +++ b/src/cmon.cc @@ -109,7 +109,7 @@ int main(int argc, const char **argv) // go MonitorStore store(g_conf->mon_data); - Monitor mon(g_conf->name.get_id(), &store, 0, &monmap); + Monitor mon(&g_ceph_context, g_conf->name.get_id(), &store, 0, &monmap); mon.mkfs(osdmapbl); cout << argv[0] << ": created monfs at " << g_conf->mon_data << " for " << g_conf->name << std::endl; @@ -257,7 +257,7 @@ int main(int argc, const char **argv) // start monitor messenger->register_entity(entity_name_t::MON(rank)); messenger->set_default_send_priority(CEPH_MSG_PRIO_HIGH); - Monitor *mon = new Monitor(g_conf->name.get_id(), &store, messenger, &monmap); + Monitor *mon = new Monitor(&g_ceph_context, g_conf->name.get_id(), &store, messenger, &monmap); common_init_daemonize(&g_ceph_context, 0); common_init_finish(&g_ceph_context); diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 1cb4872da7aa2..7606defb4fa4c 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -85,8 +85,8 @@ const CompatSet::Feature ceph_mon_feature_ro_compat[] = const CompatSet::Feature ceph_mon_feature_incompat[] = { CEPH_MON_FEATURE_INCOMPAT_BASE , CompatSet::Feature(0, "")}; -Monitor::Monitor(string nm, MonitorStore *s, Messenger *m, MonMap *map) : - Dispatcher(m->cct), +Monitor::Monitor(CephContext* cct_, string nm, MonitorStore *s, Messenger *m, MonMap *map) : + Dispatcher(cct_), name(nm), rank(-1), messenger(m), diff --git a/src/mon/Monitor.h b/src/mon/Monitor.h index b792fd6beb114..e5fa4e71efc04 100644 --- a/src/mon/Monitor.h +++ b/src/mon/Monitor.h @@ -215,7 +215,7 @@ public: void ms_handle_remote_reset(Connection *con) {} public: - Monitor(string nm, MonitorStore *s, Messenger *m, MonMap *map); + Monitor(CephContext *cct_, string nm, MonitorStore *s, Messenger *m, MonMap *map); ~Monitor(); void init(); -- 2.39.5