ceph osd pool create erasurecodes 12 12 erasure
ceph osd pool create erasurecodes 12 12 erasure
-# should fail because the default type is rep and
+# should fail because the default type is replicated and
# the pool is of type erasure
#expect_false ceph osd pool create erasurecodes 12 12
-ceph osd pool create replicated 12 12 rep
-ceph osd pool create replicated 12 12 rep
+ceph osd pool create replicated 12 12 replicated
+ceph osd pool create replicated 12 12 replicated
ceph osd pool create replicated 12 12 # default is replicated
ceph osd pool create replicated 12 # default is replicated, pgp_num = pg_num
# should fail because the type is not the same
out << "\truleset " << crush.get_rule_mask_ruleset(i) << "\n";
switch (crush.get_rule_mask_type(i)) {
- case CEPH_PG_TYPE_REP:
+ case CEPH_PG_TYPE_REPLICATED:
out << "\ttype replicated\n";
break;
case CEPH_PG_TYPE_ERASURE:
string tname = string_node(i->children[start+2]);
int type;
if (tname == "replicated")
- type = CEPH_PG_TYPE_REP;
+ type = CEPH_PG_TYPE_REPLICATED;
else if (tname == "erasure")
type = CEPH_PG_TYPE_ERASURE;
else
int steps = 3;
if (mode == "indep")
steps = 4;
- crush_rule *rule = crush_make_rule(steps, ruleset, 1 /* pg_pool_t::TYPE_REP */, 1, 10);
+ crush_rule *rule = crush_make_rule(steps, ruleset, 1 /* pg_pool_t::TYPE_REPLICATED */, 1, 10);
assert(rule);
int step = 0;
if (mode == "indep")
* NOTE: These map 1:1 on to the pg_pool_t::TYPE_* values. They are
* duplicated here only for CrushCompiler's benefit.
*/
-#define CEPH_PG_TYPE_REP 1
+#define CEPH_PG_TYPE_REPLICATED 1
/* #define CEPH_PG_TYPE_RAID4 2 never implemented */
#define CEPH_PG_TYPE_ERASURE 3
ps_t numps = osdmap.get_pg_num();
for (int64_t pool=0; pool<1; pool++)
for (ps_t ps = 0; ps < numps; ++ps) {
- pg_t pgid = pg_t(pg_t::TYPE_REP, ps, pool, -1);
+ pg_t pgid = pg_t(pg_t::TYPE_REPLICATED, ps, pool, -1);
vector<int> osds;
osdmap.pg_to_osds(pgid, osds);
if (osds[0] == 0) {
vector<string> properties;
if (m->auid)
return prepare_new_pool(m->name, m->auid, m->crush_rule, 0, 0,
- properties, pg_pool_t::TYPE_REP);
+ properties, pg_pool_t::TYPE_REPLICATED);
else
return prepare_new_pool(m->name, session->auid, m->crush_rule, 0, 0,
- properties, pg_pool_t::TYPE_REP);
+ properties, pg_pool_t::TYPE_REPLICATED);
}
/**
string pool_type_str;
cmd_getval(g_ceph_context, cmdmap, "pool_type", pool_type_str);
int pool_type;
- if (pool_type_str.empty() || pool_type_str == "rep") {
- pool_type = pg_pool_t::TYPE_REP;
+ if (pool_type_str.empty() || pool_type_str == "replicated") {
+ pool_type = pg_pool_t::TYPE_REPLICATED;
} else if (pool_type_str == "erasure") {
// check if all up osds support erasure coding
PG *pg;
hobject_t logoid = make_pg_log_oid(pgid);
hobject_t infooid = make_pg_biginfo_oid(pgid);
- if (createmap->get_pg_type(pgid) == pg_pool_t::TYPE_REP)
+ if (createmap->get_pg_type(pgid) == pg_pool_t::TYPE_REPLICATED)
pg = new ReplicatedPG(&service, createmap, pool, pgid, logoid, infooid);
else
assert(0);
for (map<int,const char*>::iterator p = rulesets.begin(); p != rulesets.end(); ++p) {
int64_t pool = ++pool_max;
- pools[pool].type = pg_pool_t::TYPE_REP;
+ pools[pool].type = pg_pool_t::TYPE_REPLICATED;
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;
assert(maxrep >= minrep);
for (map<int,const char*>::iterator p = rulesets.begin(); p != rulesets.end(); ++p) {
int ruleset = p->first;
- crush_rule *rule = crush_make_rule(3, ruleset, pg_pool_t::TYPE_REP, minrep, maxrep);
+ crush_rule *rule = crush_make_rule(3, ruleset, pg_pool_t::TYPE_REPLICATED, minrep, maxrep);
assert(rule);
crush_rule_set_step(rule, 0, CRUSH_RULE_TAKE, rootid, 0);
crush_rule_set_step(rule, 1,
for (map<int,const char*>::iterator p = rulesets.begin(); p != rulesets.end(); ++p) {
int64_t pool = ++pool_max;
- pools[pool].type = pg_pool_t::TYPE_REP;
+ pools[pool].type = pg_pool_t::TYPE_REPLICATED;
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;
int maxrep = conf->osd_max_rep;
for (map<int,const char*>::iterator p = rulesets.begin(); p != rulesets.end(); ++p) {
int ruleset = p->first;
- crush_rule *rule = crush_make_rule(3, ruleset, pg_pool_t::TYPE_REP, minrep, maxrep);
+ crush_rule *rule = crush_make_rule(3, ruleset, pg_pool_t::TYPE_REPLICATED, minrep, maxrep);
assert(rule);
crush_rule_set_step(rule, 0, CRUSH_RULE_TAKE, rootid, 0);
pg_pool_t a;
o.push_back(new pg_pool_t(a));
- a.type = TYPE_REP;
+ a.type = TYPE_REPLICATED;
a.size = 2;
a.crush_ruleset = 3;
a.object_hash = 4;
*/
struct pg_pool_t {
enum {
- TYPE_REP = 1, // replication
+ TYPE_REPLICATED = 1, // replication
//TYPE_RAID4 = 2, // raid4 (never implemented)
TYPE_ERASURE = 3, // erasure-coded
};
static const char *get_type_name(int t) {
switch (t) {
- case TYPE_REP: return "rep";
+ case TYPE_REPLICATED: return "replicated";
//case TYPE_RAID4: return "raid4";
case TYPE_ERASURE: return "erasure";
default: return "???";
void set_snap_seq(snapid_t s) { snap_seq = s; }
void set_snap_epoch(epoch_t e) { snap_epoch = e; }
- bool is_rep() const { return get_type() == TYPE_REP; }
+ bool is_replicated() const { return get_type() == TYPE_REPLICATED; }
bool is_erasure() const { return get_type() == TYPE_ERASURE; }
bool can_shift_osds() const {
switch (get_type()) {
- case TYPE_REP:
+ case TYPE_REPLICATED:
return true;
case TYPE_ERASURE:
return false;
modified \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d+ (re)
flags
- pool 0 'data' rep size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool crash_replay_interval 45
- pool 1 'metadata' rep size 3 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
- pool 2 'rbd' rep size 3 min_size 2 crush_ruleset 2 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
+ pool 0 'data' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool crash_replay_interval 45
+ pool 1 'metadata' replicated size 3 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
+ pool 2 'rbd' replicated size 3 min_size 2 crush_ruleset 2 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
max_osd 3
modified \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d+ (re)
flags
- pool 0 'data' rep size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 owner 0 flags hashpspool crash_replay_interval 45
- pool 1 'metadata' rep size 3 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 owner 0 flags hashpspool
- pool 2 'rbd' rep size 3 min_size 2 crush_ruleset 2 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 owner 0 flags hashpspool
+ pool 0 'data' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 owner 0 flags hashpspool crash_replay_interval 45
+ pool 1 'metadata' replicated size 3 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 owner 0 flags hashpspool
+ pool 2 'rbd' replicated size 3 min_size 2 crush_ruleset 2 object_hash rjenkins pg_num 64 pgp_num 64 last_change 0 owner 0 flags hashpspool
max_osd 1
modified \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d+ (re)
flags
- pool 0 'data' rep size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool crash_replay_interval 45
- pool 1 'metadata' rep size 3 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
- pool 2 'rbd' rep size 3 min_size 2 crush_ruleset 2 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
+ pool 0 'data' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool crash_replay_interval 45
+ pool 1 'metadata' replicated size 3 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
+ pool 2 'rbd' replicated size 3 min_size 2 crush_ruleset 2 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 owner 0 flags hashpspool
max_osd 3
// make a generic rules
int ruleset=1;
- crush_rule *rule = crush_make_rule(3, ruleset, CEPH_PG_TYPE_REP, 2, 2);
+ crush_rule *rule = crush_make_rule(3, ruleset, CEPH_PG_TYPE_REPLICATED, 2, 2);
assert(rule);
crush_rule_set_step(rule, 0, CRUSH_RULE_TAKE, rootid, 0);
crush_rule_set_step(rule, 1, CRUSH_RULE_CHOOSELEAF_FIRSTN, CRUSH_CHOOSE_N, 1);