]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
logger: validate log type; remove unused mds.logger2
authorSage Weil <sage@newdream.net>
Fri, 27 Feb 2009 04:47:11 +0000 (20:47 -0800)
committerSage Weil <sage@newdream.net>
Fri, 27 Feb 2009 04:47:11 +0000 (20:47 -0800)
Catch any undefined columns early.  Only real non-startup runtime danger
is sending events to the wrong logger, now.

src/client/Client.cc
src/common/LogType.h
src/mds/MDCache.h
src/mds/MDS.cc
src/mds/MDS.h
src/osd/OSD.cc

index 068d81af828f29dc0f61209ba52e08a89e97334b..fd2d4c8a05668454852ae6081ef111ba953928e8 100644 (file)
@@ -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];
index 2abaf56bdddc68f8a052e6b629a89535c518ab16..0fc038c378cc1582c3c4cfeefd9cd2e337a25701 100644 (file)
@@ -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; i<num_keys; i++)
+      assert(key_name[i]);
+  }
 };
 
 #endif
index 173a02cac6cf32d3e5f82ee954423607d384b094..4cd6099d3ed5e77c92b5678d54b1b162fcb45d2f 100644 (file)
 #include "include/Context.h"
 #include "events/EMetaBlob.h"
 
+class Logger;
+
 class MDS;
 class Migrator;
 class Renamer;
 
-class Logger;
-
 class Message;
 class Session;
 
index 75ff5dc115ca30753a4321e5bbffecd25e7ae992..16aa5f1891474c84bfddc70fcee41e6fd9f59a05 100644 (file)
@@ -118,7 +118,7 @@ MDS::MDS(int whoami_, Messenger *m, MonMap *mm) :
 
   want_state = state = MDSMap::STATE_BOOT;
 
-  logger = logger2 = 0;
+  logger = 0;
 }
 
 MDS::~MDS() {
@@ -142,7 +142,6 @@ MDS::~MDS() {
   if (objecter) { delete objecter; objecter = 0; }
 
   if (logger) { delete logger; logger = 0; }
-  if (logger2) { delete logger2; logger2 = 0; }
   
   if (messenger)
     messenger->destroy();
@@ -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);
 }
index 57b439326ca5e05b5aaa283e66dcd8b5d95f3eb6..2c956cd3ac5b2826b812bb9417cc0e4af2801984 100644 (file)
@@ -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:
index 5e45a97e09a6a2908eccb0dbb9a7f107a9bba085..ffed05fc431dc46fbb382320ba72a161af594132 100644 (file)
@@ -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);