From: Sage Weil Date: Fri, 27 Feb 2009 04:47:11 +0000 (-0800) Subject: logger: validate log type; remove unused mds.logger2 X-Git-Tag: v0.7~124 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=238400d986e069436ad461fa4422d58293af2b2f;p=ceph.git logger: validate log type; remove unused mds.logger2 Catch any undefined columns early. Only real non-startup runtime danger is sending events to the wrong logger, now. --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 068d81af828f..fd2d4c8a0566 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -253,9 +253,10 @@ void Client::init() if (client_logger == 0) { client_logtype.add_inc(l_c_reply, "reply"); client_logtype.add_avg(l_c_lat, "lat"); - client_logtype.add_avg(l_c_lat, "wrlat"); - client_logtype.add_avg(l_c_lat, "owrlat"); - client_logtype.add_avg(l_c_lat, "ordlat"); + client_logtype.add_avg(l_c_wrlat, "wrlat"); + client_logtype.add_avg(l_c_owrlat, "owrlat"); + client_logtype.add_avg(l_c_ordlat, "ordlat"); + client_logtype.validate(); char s[80]; char hostname[80]; diff --git a/src/common/LogType.h b/src/common/LogType.h index 2abaf56bdddc..0fc038c378cc 100644 --- a/src/common/LogType.h +++ b/src/common/LogType.h @@ -47,6 +47,7 @@ class LogType { } void add_key(int key, const char *name, bool is_inc, bool is_avg) { int i = lookup_key(key, true); + assert(!key_name[i]); // only register each type once! key_name[i] = name; inc_keys[i] = is_inc; avg_keys[i] = is_avg; @@ -60,6 +61,10 @@ class LogType { void add_avg(int key, const char *name) { return add_key(key, name, true, true); } + void validate() { + for (int i=0; idestroy(); @@ -152,7 +151,6 @@ MDS::~MDS() { void MDS::reopen_logger(utime_t start) { static LogType mds_logtype(l_mds_first, l_mds_last); - static LogType mds_cache_logtype(l_mdc_first, l_mdc_last); static bool didit = false; if (!didit) { @@ -165,6 +163,8 @@ void MDS::reopen_logger(utime_t start) mds_logtype.add_inc(l_mds_dir_f, "dir_f"); mds_logtype.add_inc(l_mds_dir_c, "dir_c"); + mds_logtype.add_inc(l_mds_dir_sp, "dir_sp"); + mds_logtype.add_inc(l_mds_dir_ffc, "dir_ffc"); //mds_logtype.add_inc("mkdir"); /* @@ -215,13 +215,13 @@ void MDS::reopen_logger(utime_t start) mds_logtype.add_set("nim"); */ + mds_logtype.validate(); } if (whoami < 0) return; // flush+close old log if (logger) delete logger; - if (logger2) delete logger2; // log char name[80]; @@ -232,11 +232,6 @@ void MDS::reopen_logger(utime_t start) logger = new Logger(name, (LogType*)&mds_logtype, append); logger->set_start(start); - char n[80]; - sprintf(n, "mds%d.cache", whoami); - logger2 = new Logger(n, (LogType*)&mds_cache_logtype, append); - logger2->set_start(start); - mdlog->reopen_logger(start, append); server->reopen_logger(start, append); } diff --git a/src/mds/MDS.h b/src/mds/MDS.h index 57b439326ca5..2c956cd3ac5b 100644 --- a/src/mds/MDS.h +++ b/src/mds/MDS.h @@ -148,7 +148,7 @@ class MDS : public Dispatcher { MDSTableClient *get_table_client(int t); MDSTableServer *get_table_server(int t); - Logger *logger, *logger2; + Logger *logger; protected: diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 5e45a97e09a6..ffed05fc431d 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -347,6 +347,8 @@ int OSD::init() osd_logtype.add_inc(l_osd_r_wr, "r_wr"); osd_logtype.add_inc(l_osd_r_wrb, "r_wrb"); + osd_logtype.add_inc(l_osd_subop, "subop"); + osd_logtype.add_inc(l_osd_r_push, "r_push"); osd_logtype.add_inc(l_osd_r_pushb, "r_pushb"); osd_logtype.add_inc(l_osd_r_pull, "r_pull"); @@ -377,6 +379,9 @@ int OSD::init() osd_logtype.add_inc(l_osd_mapidup, "mapidup"); osd_logtype.add_inc(l_osd_mapf, "mapf"); osd_logtype.add_inc(l_osd_mapfdup, "mapfdup"); + + osd_logtype.validate(); + // i'm ready! messenger->set_dispatcher(this);