From 2f8b602910b001fa69815ea9254db349a2e9d4f0 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 27 Dec 2013 13:45:34 -0800 Subject: [PATCH] osd/OSDMap: observe 'osd crush chooseleaf type' option for initial rules This option was dropped by 2a7fcc35b8ceeff1e07da28b10ced4a2a4ed09ec. Signed-off-by: Sage Weil --- src/osd/OSDMap.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index f2efd400eb215..ffbbdff5e4243 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -1969,12 +1969,15 @@ int OSDMap::build_simple_crush_map(CephContext *cct, CrushWrapper& crush, crush.insert_item(cct, o, 1.0, name, loc); } - r = crush.add_simple_ruleset("replicated_ruleset", "default", "host", + string failure_domain = + crush.get_type_name(cct->_conf->osd_crush_chooseleaf_type); + + r = crush.add_simple_ruleset("replicated_ruleset", "default", failure_domain, "firstn", pg_pool_t::TYPE_REPLICATED, ss); if (r < 0) return r; - r = crush.add_simple_ruleset("erasure_ruleset", "default", "host", + r = crush.add_simple_ruleset("erasure_ruleset", "default", failure_domain, "indep", pg_pool_t::TYPE_ERASURE, ss); if (r < 0) return r; @@ -2049,11 +2052,14 @@ int OSDMap::build_simple_crush_map_from_conf(CephContext *cct, crush.insert_item(cct, o, 1.0, *i, loc); } - r = crush.add_simple_ruleset("replicated_ruleset", "default", "host", + string failure_domain = + crush.get_type_name(cct->_conf->osd_crush_chooseleaf_type); + + r = crush.add_simple_ruleset("replicated_ruleset", "default", failure_domain, "firstn", pg_pool_t::TYPE_REPLICATED, ss); if (r < 0) return r; - r = crush.add_simple_ruleset("erasure_ruleset", "default", "host", + r = crush.add_simple_ruleset("erasure_ruleset", "default", failure_domain, "indep", pg_pool_t::TYPE_ERASURE, ss); if (r < 0) return r; -- 2.39.5