]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crush: set min_rep and max_rep depending on mode
authorLoic Dachary <loic@dachary.org>
Thu, 26 Dec 2013 23:10:55 +0000 (00:10 +0100)
committerLoic Dachary <loic@dachary.org>
Thu, 26 Dec 2013 23:10:55 +0000 (00:10 +0100)
Assuming firstn is for replica and indep is for erasure. This is a
strong constraint but it is unlikely to make the resulting ruleset unfit
to be used in most cases.

Signed-off-by: Loic Dachary <loic@dachary.org>
src/crush/CrushWrapper.cc

index 56674eb0336b3cc64856fd81ca6304b2893f2536..77a2627977099d499e2efa1c9c160bf0329248af 100644 (file)
@@ -748,7 +748,9 @@ int CrushWrapper::add_simple_ruleset(string name, string root_name,
   int steps = 3;
   if (mode == "indep")
     steps = 4;
-  crush_rule *rule = crush_make_rule(steps, ruleset, rule_type, 1, 10);
+  int min_rep = mode == "firstn" ? 1 : 3;
+  int max_rep = mode == "firstn" ? 10 : 20;
+  crush_rule *rule = crush_make_rule(steps, ruleset, rule_type, min_rep, max_rep);
   assert(rule);
   int step = 0;
   if (mode == "indep")