]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
pg_pool_t: enable FLAG_HASHPSPOOL by default
authorSamuel Just <sam.just@inktank.com>
Fri, 24 May 2013 23:20:38 +0000 (16:20 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 24 May 2013 23:21:48 +0000 (16:21 -0700)
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>
src/common/config_opts.h
src/mon/OSDMonitor.cc
src/osd/OSDMap.cc

index f7a43adb93301ac05fb8e42223f9427634bcd318..0cf9121a192e585134ff40633f912c115f531a03 100644 (file)
@@ -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
index 897ca7f2d474da60c5f1a971242b04545046eefa..39e3fe9bbe0fef94c005717bc23a71f57bcf4f85 100644 (file)
@@ -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();
index e768c3a30daf862ca1b2ff7d125f67afdd1fdb12..5fe0a8edc3f82efabc6f8d5e6d9f661dbb347e12 100644 (file)
@@ -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;