]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: show laggy status in map summary
authorSage Weil <sage@newdream.net>
Wed, 18 Mar 2009 20:14:44 +0000 (13:14 -0700)
committerSage Weil <sage@newdream.net>
Wed, 18 Mar 2009 20:14:44 +0000 (13:14 -0700)
src/mds/MDSMap.cc

index f81afffdcc6002513b9d5a3f3f7ed50087f52a91..f102fbc518331922f196ce91d607c1d824414bea 100644 (file)
@@ -76,16 +76,20 @@ void MDSMap::print(ostream& out)
 
 void MDSMap::print_summary(ostream& out) 
 {
-  map<int,int> by_state;
+  map<string,int> by_state;
   for (map<entity_addr_t,mds_info_t>::iterator p = mds_info.begin();
        p != mds_info.end();
-       p++)
-    by_state[p->second.state]++;
+       p++) {
+    string s = ceph_mds_state_name(p->second.state);
+    if (p->second.laggy())
+      s += "(laggy or crashed)";
+    by_state[s]++;
+  }
 
   out << "e" << get_epoch() << ": " << up.size() << "/" << in.size() << "/" << max_mds << " up";
 
-  for (map<int,int>::reverse_iterator p = by_state.rbegin(); p != by_state.rend(); p++)
-    out << ", " << p->second << " " << ceph_mds_state_name(p->first);
+  for (map<string,int>::reverse_iterator p = by_state.rbegin(); p != by_state.rend(); p++)
+    out << ", " << p->second << " " << p->first;
   
   if (failed.size())
     out << ", " << failed.size() << " failed";