From: Sage Weil Date: Mon, 3 Nov 2014 09:57:20 +0000 (-0800) Subject: mds: fix log_client config X-Git-Tag: v0.89~42^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3d45a68d0a5fc01b5cecd6cff3db09118c5d6eb9;p=ceph.git mds: fix log_client config This broke when channels were refactored. Set and update log_client config using generic helpers. Signed-off-by: Sage Weil --- diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index cc49223df220..3cc24d0767cc 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -338,6 +338,11 @@ const char** MDS::get_tracked_conf_keys() const static const char* KEYS[] = { "mds_op_complaint_time", "mds_op_log_threshold", "mds_op_history_size", "mds_op_history_duration", + // clog & admin clog + "clog_to_monitors", + "clog_to_syslog", + "clog_to_syslog_facility", + "clog_to_syslog_level", NULL }; return KEYS; @@ -356,6 +361,25 @@ void MDS::handle_conf_change(const struct md_config_t *conf, op_tracker.set_history_size_and_duration(conf->mds_op_history_size, conf->mds_op_history_duration); } + 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(); + } +} + +void MDS::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 MDS::create_logger() @@ -611,6 +635,7 @@ int MDS::init(MDSMap::DaemonState wanted_state) // tell monc about log_client so it will know about mon session resets monc->set_log_client(&log_client); + update_log_config(); int r = monc->authenticate(); if (r < 0) { diff --git a/src/mds/MDS.h b/src/mds/MDS.h index d3d5cc2ca5ae..50b3560239df 100644 --- a/src/mds/MDS.h +++ b/src/mds/MDS.h @@ -381,6 +381,7 @@ private: virtual void handle_conf_change(const struct md_config_t *conf, const std::set &changed); void create_logger(); + void update_log_config(); void bcast_mds_map(); // to mounted clients