]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fix type of osd_recover_clone_overlap_limit
authorPatrick Donnelly <pdonnell@redhat.com>
Mon, 16 Dec 2019 21:00:15 +0000 (13:00 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Mon, 16 Dec 2019 21:16:40 +0000 (13:16 -0800)
To avoid signed/unsigned comparison warnings.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/common/legacy_config_opts.h
src/common/options.cc
src/osd/ReplicatedBackend.cc

index 83c78a208f8e7522d58740f65ad285c053e0207c..875f64dc92a09211425b27d488c9925ba27e24d6 100644 (file)
@@ -630,9 +630,6 @@ OPTION(osd_ignore_stale_divergent_priors, OPT_BOOL) // do not assert on divergen
 // decode the object, any error will be reported.
 OPTION(osd_read_ec_check_for_errors, OPT_BOOL) // return error if any ec shard has an error
 
-// Only use clone_overlap for recovery if there are fewer than
-// osd_recover_clone_overlap_limit entries in the overlap set
-OPTION(osd_recover_clone_overlap_limit, OPT_INT)
 OPTION(osd_debug_feed_pullee, OPT_INT)
 
 OPTION(osd_backfill_scan_min, OPT_INT)
index c9f8df6dc97bf7d8471edce7def31e71b4921c37..57f3be63e8b070ff998f46a4efe53031a9e2a95a 100644 (file)
@@ -2922,9 +2922,12 @@ std::vector<Option> get_global_options() {
     .set_default(false)
     .set_description(""),
 
-    Option("osd_recover_clone_overlap_limit", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+    // Only use clone_overlap for recovery if there are fewer than
+    // osd_recover_clone_overlap_limit entries in the overlap set
+    Option("osd_recover_clone_overlap_limit", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(10)
-    .set_description(""),
+    .set_description("")
+    .set_flag(Option::FLAG_RUNTIME),
 
     Option("osd_debug_feed_pullee", Option::TYPE_INT, Option::LEVEL_DEV)
     .set_default(-1)
index 28ea1ff70874f17e19bf5f4098abbdc31796af6f..3c4190f577522aa9b8e30e388d79cff2fa138242 100644 (file)
@@ -1213,7 +1213,7 @@ void ReplicatedBackend::calc_head_subsets(
     return;
   }
 
-  if (cloning.num_intervals() > cct->_conf->osd_recover_clone_overlap_limit) {
+  if (cloning.num_intervals() > g_conf().get_val<uint64_t>("osd_recover_clone_overlap_limit")) {
     dout(10) << "skipping clone, too many holes" << dendl;
     get_parent()->release_locks(manager);
     clone_subsets.clear();
@@ -1303,7 +1303,7 @@ void ReplicatedBackend::calc_clone_subsets(
             << " overlap " << next << dendl;
   }
 
-  if (cloning.num_intervals() > cct->_conf->osd_recover_clone_overlap_limit) {
+  if (cloning.num_intervals() > g_conf().get_val<uint64_t>("osd_recover_clone_overlap_limit")) {
     dout(10) << "skipping clone, too many holes" << dendl;
     get_parent()->release_locks(manager);
     clone_subsets.clear();