From 7dc2ca826e3a27ba4101b15ed04cfb2721b9bb17 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 3 Nov 2014 01:55:25 -0800 Subject: [PATCH] osd: configure log_client properly This broke when the channel refactor happened--we weren't configuring the LogClient settings at all. Fix it by using the generic helpers to make this reasonably painless. Signed-off-by: Sage Weil --- src/osd/OSD.cc | 25 +++++++++++++++++++++++++ src/osd/OSD.h | 1 + 2 files changed, 26 insertions(+) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 5747257c22893..836de3f3a35d6 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2012,6 +2012,7 @@ int OSD::init() // tell monc about log_client so it will know about mon session resets monc->set_log_client(&log_client); + update_log_config(); osd_tp.start(); osd_op_tp.start(); @@ -8513,6 +8514,11 @@ const char** OSD::get_tracked_conf_keys() const "osd_pg_epoch_persisted_max_stale", "osd_disk_thread_ioprio_class", "osd_disk_thread_ioprio_priority", + // clog & admin clog + "clog_to_monitors", + "clog_to_syslog", + "clog_to_syslog_facility", + "clog_to_syslog_level", NULL }; return KEYS; @@ -8548,10 +8554,29 @@ void OSD::handle_conf_change(const struct md_config_t *conf, service.map_bl_cache.set_size(cct->_conf->osd_map_cache_size); service.map_bl_inc_cache.set_size(cct->_conf->osd_map_cache_size); } + if (changed.count("clog_to_monitors") || + changed.count("clog_to_syslog") || + changed.count("clog_to_syslog_level") || + changed.count("clog_to_syslog_facility")) { + update_log_config(); + } check_config(); } +void OSD::update_log_config() +{ + map log_to_monitors; + map log_to_syslog; + map log_channel; + map log_prio; + if (parse_log_client_options(g_ceph_context, log_to_monitors, log_to_syslog, + log_channel, log_prio) == 0) + clog->update_config(log_to_monitors, log_to_syslog, + log_channel, log_prio); + derr << "log_to_monitors " << log_to_monitors << dendl; +} + void OSD::check_config() { // some sanity checks diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 426a2b1fab701..1d32059defa4a 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -908,6 +908,7 @@ public: virtual const char** get_tracked_conf_keys() const; virtual void handle_conf_change(const struct md_config_t *conf, const std::set &changed); + void update_log_config(); void check_config(); protected: -- 2.39.5