]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix health checks for multiple filesystems 16363/head
authorJohn Spray <john.spray@redhat.com>
Tue, 1 Aug 2017 13:02:07 +0000 (09:02 -0400)
committerJohn Spray <john.spray@redhat.com>
Tue, 1 Aug 2017 13:02:07 +0000 (09:02 -0400)
Signed-off-by: John Spray <john.spray@redhat.com>
src/mds/FSMap.cc
src/mds/MDSMap.cc

index f44eadf3c3f4441c2b510c86b8e07c11d2357524..e4b7a051396117a225cb3252b99175b38484aab3 100644 (file)
@@ -358,9 +358,8 @@ void FSMap::get_health_checks(health_check_map_t *checks) const
     }
 
     // FS_WITH_FAILED_MDS
-    // MDS_FAILED
     if (!stuck_failed.empty()) {
-      health_check_t& fscheck = checks->add(
+      health_check_t& fscheck = checks->get_or_add(
         "FS_WITH_FAILED_MDS", HEALTH_WARN,
         "%num% filesystem%plurals% %isorare% have a failed mds daemon");
       ostringstream ss;
@@ -379,7 +378,7 @@ void FSMap::get_health_checks(health_check_map_t *checks) const
   if (standby_count_wanted) {
     std::ostringstream oss, dss;
     oss << "insufficient standby daemons available";
-    auto& d = checks->add("MDS_INSUFFICIENT_STANDBY", HEALTH_WARN, oss.str());
+    auto& d = checks->get_or_add("MDS_INSUFFICIENT_STANDBY", HEALTH_WARN, oss.str());
     dss << "have " << standby_daemons.size() << "; want " << standby_count_wanted
        << " more";
     d.detail.push_back(dss.str());
index 5b1ecea10b05c11e33f9343ae3751c079b44e3ec..3ef6de3567021f62404e6b0add4472d0a638261f 100644 (file)
@@ -410,7 +410,7 @@ void MDSMap::get_health_checks(health_check_map_t *checks) const
 {
   // MDS_DAMAGED
   if (!damaged.empty()) {
-    health_check_t& check = checks->add("MDS_DAMAGED", HEALTH_ERR,
+    health_check_t& check = checks->get_or_add("MDS_DAMAGED", HEALTH_ERR,
                                        "%num% mds daemon%plurals% damaged");
     for (auto p : damaged) {
       std::ostringstream oss;
@@ -421,7 +421,7 @@ void MDSMap::get_health_checks(health_check_map_t *checks) const
 
   // FS_DEGRADED
   if (is_degraded()) {
-    health_check_t& fscheck = checks->add(
+    health_check_t& fscheck = checks->get_or_add(
       "FS_DEGRADED", HEALTH_WARN,
       "%num% filesystem%plurals% %isorare% degraded");
     ostringstream ss;