]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSDMap: build_simple_from_conf pg_num should not be 0 with one osd
authorSamuel Just <samuel.just@dreamhost.com>
Fri, 2 Dec 2011 00:28:03 +0000 (16:28 -0800)
committerSage Weil <sage@newdream.net>
Fri, 2 Dec 2011 17:00:27 +0000 (09:00 -0800)
Previously, pg_num would end up set to 0 if osd.0 is the only osd.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
src/osd/OSDMap.cc

index 388a64da17822eef20693ebbddb32ae247bfbcc3..ed2c3ea58c7977dabba9d54ae77a1ca0174f8930 100644 (file)
@@ -1012,8 +1012,8 @@ void OSDMap::build_simple_from_conf(CephContext *cct, epoch_t e, uuid_d &fsid,
     pools[pool].size = cct->_conf->osd_pool_default_size;
     pools[pool].crush_ruleset = p->first;
     pools[pool].object_hash = CEPH_STR_HASH_RJENKINS;
-    pools[pool].pg_num = maxosd << pg_bits;
-    pools[pool].pgp_num = maxosd << pgp_bits;
+    pools[pool].pg_num = (maxosd + 1) << pg_bits;
+    pools[pool].pgp_num = (maxosd + 1) << pgp_bits;
     pools[pool].lpg_num = lpg_bits ? (1 << (lpg_bits-1)) : 0;
     pools[pool].lpgp_num = lpg_bits ? (1 << (lpg_bits-1)) : 0;
     pools[pool].last_change = epoch;