]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: change "mon_pg_warn_min_per_osd" to uint64_t
authorKefu Chai <kchai@redhat.com>
Tue, 17 Oct 2017 04:17:09 +0000 (12:17 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 8 Nov 2017 04:58:19 +0000 (12:58 +0800)
* this silences a warning from -Wsign-compare.
* also switch all its user to the new-style option

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit c3cd0c13a1585388df0f17ab53c170e39c711615)

src/common/legacy_config_opts.h
src/common/options.cc
src/mon/PGMap.cc

index 44bd6b1043498aa4c1ad2b17a41e36be70ac5bc0..e0f0ad7e3e410bb4ba409403061ea7d8e9bd6a69 100644 (file)
@@ -235,7 +235,6 @@ OPTION(mon_timecheck_interval, OPT_FLOAT) // on leader, timecheck (clock drift c
 OPTION(mon_timecheck_skew_interval, OPT_FLOAT) // on leader, timecheck (clock drift check) interval when in presence of a skew (seconds)
 OPTION(mon_pg_stuck_threshold, OPT_INT) // number of seconds after which pgs can be considered stuck inactive, unclean, etc (see doc/control.rst under dump_stuck for more info)
 OPTION(mon_pg_min_inactive, OPT_U64) // the number of PGs which have to be inactive longer than 'mon_pg_stuck_threshold' before health goes into ERR. 0 means disabled, never go into ERR.
-OPTION(mon_pg_warn_min_per_osd, OPT_INT)  // min # pgs per (in) osd before we warn the admin
 OPTION(mon_pg_warn_max_object_skew, OPT_FLOAT) // max skew few average in objects per pg
 OPTION(mon_pg_warn_min_objects, OPT_INT)  // do not warn below this object #
 OPTION(mon_pg_warn_min_pool_objects, OPT_INT)  // do not warn on pools below this object #
index 893fa6356b31e8a671fa68e4f0c9267ef4c6f1d3..8889763fd7cbf7935d876845256ccef213be9c41 100644 (file)
@@ -1035,9 +1035,9 @@ std::vector<Option> get_global_options() {
     .set_default(1)
     .set_description(""),
 
-    Option("mon_pg_warn_min_per_osd", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+    Option("mon_pg_warn_min_per_osd", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(30)
-    .set_description(""),
+    .set_description("minimal number PGs per (in) osd before we warn the admin"),
 
     Option("mon_max_pg_per_osd", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(200)
index f25f2203d84277a172f29bc9c83dddb27e695841..32fabdfce2029d9eb32c4c930a9ac586096dc857 100644 (file)
@@ -2923,14 +2923,14 @@ void PGMap::get_health_checks(
   // TOO_FEW_PGS
   unsigned num_in = osdmap.get_num_in_osds();
   auto sum_pg_up = std::max(static_cast<size_t>(pg_sum.up), pg_stat.size());
-  if (num_in &&
-      cct->_conf->mon_pg_warn_min_per_osd > 0 &&
-      osdmap.get_pools().size() > 0) {
+  const auto min_pg_per_osd =
+    cct->_conf->get_val<uint64_t>("mon_pg_warn_min_per_osd");
+  if (num_in && min_pg_per_osd > 0 && osdmap.get_pools().size() > 0) {
     auto per = sum_pg_up / num_in;
-    if (per < cct->_conf->mon_pg_warn_min_per_osd && per) {
+    if (per < min_pg_per_osd && per) {
       ostringstream ss;
       ss << "too few PGs per OSD (" << per
-        << " < min " << cct->_conf->mon_pg_warn_min_per_osd << ")";
+        << " < min " << min_pg_per_osd << ")";
       checks->add("TOO_FEW_PGS", HEALTH_WARN, ss.str());
     }
   }
@@ -3589,17 +3589,19 @@ void PGMap::get_health(
   }
 
   // pg skew
-  int num_in = osdmap.get_num_in_osds();
-  int sum_pg_up = MAX(pg_sum.up, static_cast<int32_t>(pg_stat.size()));
+  auto num_in = osdmap.get_num_in_osds();
+  auto sum_pg_up = MAX(static_cast<unsigned>(pg_sum.up), pg_stat.size());
   int sum_objects = pg_sum.stats.sum.num_objects;
   if (sum_objects < cct->_conf->mon_pg_warn_min_objects) {
     return;
   }
-  if (num_in && cct->_conf->mon_pg_warn_min_per_osd > 0) {
-    int per = sum_pg_up / num_in;
-    if (per < cct->_conf->mon_pg_warn_min_per_osd && per) {
+  const auto min_pg_per_osd =
+    cct->_conf->get_val<uint64_t>("mon_pg_warn_min_per_osd");
+  if (num_in && min_pg_per_osd > 0) {
+    auto per = sum_pg_up / num_in;
+    if (per < min_pg_per_osd && per) {
       ostringstream ss;
-      ss << "too few PGs per OSD (" << per << " < min " << cct->_conf->mon_pg_warn_min_per_osd << ")";
+      ss << "too few PGs per OSD (" << per << " < min " << min_pg_per_osd << ")";
       summary.push_back(make_pair(HEALTH_WARN, ss.str()));
       if (detail)
        detail->push_back(make_pair(HEALTH_WARN, ss.str()));