]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: only show interesting flags in health warning 12687/head
authorSage Weil <sage@redhat.com>
Wed, 7 Dec 2016 14:50:26 +0000 (09:50 -0500)
committerNathan Cutler <ncutler@suse.com>
Tue, 27 Dec 2016 14:18:46 +0000 (15:18 +0100)
Also add PAUSEREC flag into the list.

Fixes: http://tracker.ceph.com/issues/18175
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 26220f0608f5ed4a7d97fb8d10d0d12a0fcf5583)

Conflicts:
src/mon/OSDMonitor.cc (hammer lacks CEPH_OSDMAP_FULL and order of flags
                               is slightly different)

src/mon/OSDMonitor.cc

index cf4749b7d726c6e72240bd98f1bad4633e415e92..c43474c9a12d637ee0f78f6d8b175598ea0aa638 100644 (file)
@@ -2669,20 +2669,24 @@ void OSDMonitor::get_health(list<pair<health_status_t,string> >& summary,
     }
 
     // warn about flags
-    if (osdmap.test_flag(CEPH_OSDMAP_PAUSERD |
-                        CEPH_OSDMAP_PAUSEWR |
-                        CEPH_OSDMAP_NOUP |
-                        CEPH_OSDMAP_NODOWN |
-                        CEPH_OSDMAP_NOIN |
-                        CEPH_OSDMAP_NOOUT |
-                        CEPH_OSDMAP_NOBACKFILL |
-                        CEPH_OSDMAP_NOREBALANCE |
-                        CEPH_OSDMAP_NORECOVER |
-                        CEPH_OSDMAP_NOSCRUB |
-                        CEPH_OSDMAP_NODEEP_SCRUB |
-                        CEPH_OSDMAP_NOTIERAGENT)) {
+    uint64_t warn_flags =
+      CEPH_OSDMAP_PAUSERD |
+      CEPH_OSDMAP_PAUSEWR |
+      CEPH_OSDMAP_PAUSEREC |
+      CEPH_OSDMAP_NOUP |
+      CEPH_OSDMAP_NODOWN |
+      CEPH_OSDMAP_NOIN |
+      CEPH_OSDMAP_NOOUT |
+      CEPH_OSDMAP_NOBACKFILL |
+      CEPH_OSDMAP_NOREBALANCE |
+      CEPH_OSDMAP_NORECOVER |
+      CEPH_OSDMAP_NOSCRUB |
+      CEPH_OSDMAP_NODEEP_SCRUB |
+      CEPH_OSDMAP_NOTIERAGENT;
+    if (osdmap.test_flag(warn_flags)) {
       ostringstream ss;
-      ss << osdmap.get_flag_string() << " flag(s) set";
+      ss << osdmap.get_flag_string(osdmap.get_flags() & warn_flags)
+        << " flag(s) set";
       summary.push_back(make_pair(HEALTH_WARN, ss.str()));
       if (detail)
        detail->push_back(make_pair(HEALTH_WARN, ss.str()));