From: Sage Weil Date: Fri, 15 Aug 2014 21:04:05 +0000 (-0700) Subject: unittest_osdmap: create an ec pool in test osdmap X-Git-Tag: v0.80.6~70 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=dbbe0c627bcd4a60c1346bb120698b5a0c2192c2;p=ceph.git unittest_osdmap: create an ec pool in test osdmap This is part of 7294e8c4df6df9d0898f82bb6e0839ed98149310. Signed-off-by: Sage Weil --- diff --git a/src/test/osd/TestOSDMap.cc b/src/test/osd/TestOSDMap.cc index 0ff12c80be72..274e17c01932 100644 --- a/src/test/osd/TestOSDMap.cc +++ b/src/test/osd/TestOSDMap.cc @@ -50,13 +50,23 @@ public: } osdmap.apply_incremental(pending_inc); - // kludge to get an erasure coding rule and pool + // Create an EC ruleset and a pool using it int r = osdmap.crush->add_simple_ruleset("erasure", "default", "osd", "indep", pg_pool_t::TYPE_ERASURE, &cerr); - pg_pool_t *p = (pg_pool_t *)osdmap.get_pg_pool(2); + + OSDMap::Incremental new_pool_inc(osdmap.get_epoch() + 1); + new_pool_inc.new_pool_max = osdmap.get_pool_max(); + new_pool_inc.fsid = osdmap.get_fsid(); + pg_pool_t empty; + uint64_t pool_id = ++new_pool_inc.new_pool_max; + pg_pool_t *p = new_pool_inc.get_new_pool(pool_id, &empty); + p->size = 3; + p->set_pg_num(64); + p->set_pgp_num(64); p->type = pg_pool_t::TYPE_ERASURE; p->crush_ruleset = r; + osdmap.apply_incremental(new_pool_inc); } unsigned int get_num_osds() { return num_osds; }