summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2013-05-24 16:20:38 -0700
committerSamuel Just <sam.just@inktank.com>2013-05-24 16:21:48 -0700
commit6d1e14e04599570ce25c03f62a0c959df6c63c48 (patch)
treec3a5b15dc7d2d9b2e5cf801f957c18d15cb096af /src
parentbb407bfd101d9707c63655cb3c1b51346a0de8cd (diff)
downloadceph-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.h2
-rw-r--r--src/mon/OSDMonitor.cc2
-rw-r--r--src/osd/OSDMap.cc4
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;