diff options
author | Samuel Just <sam.just@inktank.com> | 2013-05-24 16:20:38 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-05-24 16:21:48 -0700 |
commit | 6d1e14e04599570ce25c03f62a0c959df6c63c48 (patch) | |
tree | c3a5b15dc7d2d9b2e5cf801f957c18d15cb096af /src | |
parent | bb407bfd101d9707c63655cb3c1b51346a0de8cd (diff) | |
download | ceph-6d1e14e04599570ce25c03f62a0c959df6c63c48.tar.gz |
pg_pool_t: enable FLAG_HASHPSPOOL by default
Fixes: #5160
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/common/config_opts.h | 2 | ||||
-rw-r--r-- | src/mon/OSDMonitor.cc | 2 | ||||
-rw-r--r-- | src/osd/OSDMap.cc | 4 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/common/config_opts.h b/src/common/config_opts.h index f7a43adb933..0cf9121a192 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 897ca7f2d47..39e3fe9bbe0 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 e768c3a30da..5fe0a8edc3f 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; |