From: Samuel Just Date: Fri, 24 May 2013 23:20:38 +0000 (-0700) Subject: pg_pool_t: enable FLAG_HASHPSPOOL by default X-Git-Tag: v0.64~56 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6d1e14e04599570ce25c03f62a0c959df6c63c48;p=ceph.git pg_pool_t: enable FLAG_HASHPSPOOL by default Fixes: #5160 Signed-off-by: Samuel Just Reviewed-by: Greg Farnum Reviewed-by: Sage Weil --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index f7a43adb9330..0cf9121a192e 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -383,6 +383,8 @@ OPTION(osd_pool_default_min_size, OPT_INT, 0) // 0 means no specific default; c OPTION(osd_pool_default_pg_num, OPT_INT, 8) // number of PGs for new pools. Configure in global or mon section of ceph.conf OPTION(osd_pool_default_pgp_num, OPT_INT, 8) // number of PGs for placement purposes. Should be equal to pg_num OPTION(osd_pool_default_flags, OPT_INT, 0) // default flags for new pools +// default flags for new pools +OPTION(osd_pool_default_flag_hashpspool, OPT_BOOL, true) OPTION(osd_map_dedup, OPT_BOOL, true) OPTION(osd_map_cache_size, OPT_INT, 500) OPTION(osd_map_message_max, OPT_INT, 100) // max maps per MOSDMap message diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 897ca7f2d474..39e3fe9bbe0f 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2431,6 +2431,8 @@ int OSDMonitor::prepare_new_pool(string& name, uint64_t auid, int crush_rule, int64_t pool = ++pending_inc.new_pool_max; pending_inc.new_pools[pool].type = pg_pool_t::TYPE_REP; pending_inc.new_pools[pool].flags = g_conf->osd_pool_default_flags; + if (g_conf->osd_pool_default_flag_hashpspool) + pending_inc.new_pools[pool].flags |= pg_pool_t::FLAG_HASHPSPOOL; pending_inc.new_pools[pool].size = g_conf->osd_pool_default_size; pending_inc.new_pools[pool].min_size = g_conf->get_osd_pool_default_min_size(); diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index e768c3a30daf..5fe0a8edc3f8 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -1737,6 +1737,8 @@ void OSDMap::build_simple(CephContext *cct, epoch_t e, uuid_d &fsid, int64_t pool = ++pool_max; pools[pool].type = pg_pool_t::TYPE_REP; pools[pool].flags = cct->_conf->osd_pool_default_flags; + if (cct->_conf->osd_pool_default_flag_hashpspool) + pools[pool].flags |= pg_pool_t::FLAG_HASHPSPOOL; pools[pool].size = cct->_conf->osd_pool_default_size; pools[pool].min_size = cct->_conf->get_osd_pool_default_min_size(); pools[pool].crush_ruleset = p->first; @@ -1862,6 +1864,8 @@ int OSDMap::build_simple_from_conf(CephContext *cct, epoch_t e, uuid_d &fsid, int64_t pool = ++pool_max; pools[pool].type = pg_pool_t::TYPE_REP; pools[pool].flags = cct->_conf->osd_pool_default_flags; + if (cct->_conf->osd_pool_default_flag_hashpspool) + pools[pool].flags |= pg_pool_t::FLAG_HASHPSPOOL; pools[pool].size = cct->_conf->osd_pool_default_size; pools[pool].min_size = cct->_conf->get_osd_pool_default_min_size(); pools[pool].crush_ruleset = p->first;