return r;
}
- if (!osdmap.crush->check_crush_rule(crush_rule, pool_type, size, *ss)) {
+ if (osdmap.crush->get_rule_type(crush_rule) != (int)pool_type) {
+ *ss << "crush rule " << crush_rule << " type does not match pool";
return -EINVAL;
}
return -EPERM;
}
}
- if (!osdmap.crush->check_crush_rule(p.get_crush_rule(), p.type, n, ss)) {
+ if (osdmap.crush->get_rule_type(p.get_crush_rule()) != (int)p.type) {
+ ss << "crush rule " << p.get_crush_rule() << " type does not match pool";
return -EINVAL;
}
int r = check_pg_num(pool, p.get_pg_num(), n, &ss);
ss << cpp_strerror(id);
return -ENOENT;
}
- if (!osdmap.crush->check_crush_rule(id, p.get_type(), p.get_size(), ss)) {
+ if (osdmap.crush->get_rule_type(id) != (int)p.get_type()) {
+ ss << "crush rule " << id << " type does not match pool";
return -EINVAL;
}
p.crush_rule = id;