]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: fix set cache_target_full_ratio 1873/head
authorLoic Dachary <loic@dachary.org>
Tue, 27 May 2014 08:06:46 +0000 (10:06 +0200)
committerLoic Dachary <loic@dachary.org>
Tue, 27 May 2014 08:24:18 +0000 (10:24 +0200)
It was a noop because it was incorrectly using the variable n. Add a
test to protect against regression.

http://tracker.ceph.com/issues/8440 Fixes: #8440

Reported-by: Geoffrey Hartz <hartz.geoffrey@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
qa/workunits/cephtool/test.sh
src/mon/OSDMonitor.cc

index 8ed6bd12c015924a791b3c4d32d96f10e4df7d65..f60e95bc7d1fafab69719230337ad8465bd6ca22 100755 (executable)
@@ -514,6 +514,7 @@ ceph osd pool set rbd cache_target_dirty_ratio .123
 expect_false ceph osd pool set rbd cache_target_dirty_ratio -.2
 expect_false ceph osd pool set rbd cache_target_dirty_ratio 1.1
 ceph osd pool set rbd cache_target_full_ratio .123
+ceph osd dump -f json-pretty | grep '"cache_target_full_ratio_micro": 123000'
 ceph osd pool set rbd cache_target_full_ratio 1.0
 ceph osd pool set rbd cache_target_full_ratio 0
 expect_false ceph osd pool set rbd cache_target_full_ratio 1.1
index d5ea95447b014348c35acbb9726a155283f55a0e..63b75fde2382d9d7143676ed51ca684a4899b2cc 100644 (file)
@@ -3516,7 +3516,7 @@ int OSDMonitor::prepare_command_pool_set(map<string,cmd_vartype> &cmdmap,
       ss << "value must be in the range 0..1";
       return -ERANGE;
     }
-    p.cache_target_full_ratio_micro = n;
+    p.cache_target_full_ratio_micro = f * 1000000;
   } else if (var == "cache_min_flush_age") {
     if (interr.length()) {
       ss << "error parsing int '" << val << "': " << interr;