ASSERT_EQ(1, c->get_bucket_item(a, 1));
ASSERT_EQ(2, c->get_bucket_item(a, 2));
ASSERT_EQ(3, c->get_bucket_item(b, 0));
+
+ // check if it can swap parent with child
+ ASSERT_EQ(-EINVAL, c->swap_bucket(g_ceph_context, root, a));
c->swap_bucket(g_ceph_context, a, b);
ASSERT_EQ(0x30000, c->get_item_weight(b));
item = 2;
c.insert_item(g_ceph_context, item, weight, "osd.2", loc);
- assert(c.add_simple_rule("rule1", "r11", "host", "",
+ ceph_assert(c.add_simple_rule("rule1", "r11", "host", "",
"firstn", pg_pool_t::TYPE_ERASURE) >= 0);
int id = c.get_item_id("b1");
weight_set.size = 1;
weight_set.weights = &weights;
int maxbuckets = c.get_max_buckets();
- assert(maxbuckets > 0);
+ ceph_assert(maxbuckets > 0);
crush_choose_arg choose_args[maxbuckets];
memset(choose_args, '\0', sizeof(crush_choose_arg) * maxbuckets);
choose_args[-1-id].ids_size = 0;
c.choose_args[caid] = arg_map;
bufferlist bl;
c.encode(bl, features|CEPH_FEATURE_CRUSH_CHOOSE_ARGS);
- bufferlist::iterator i(bl.begin());
+ auto i = bl.cbegin();
CrushWrapper c_new;
c_new.decode(i);
ASSERT_EQ(1u, c_new.choose_args.size());
bufferlist bl;
c.encode(bl, features);
c.choose_args.clear();
- bufferlist::iterator i(bl.begin());
+ auto i = bl.cbegin();
CrushWrapper c_new;
c_new.decode(i);
ASSERT_EQ(0u, c_new.choose_args.size());
loc["root"] = "default";
c.insert_item(g_ceph_context, item, weight, "osd.2", loc);
- assert(c.add_simple_rule("rule1", "r11", "host", "",
+ ceph_assert(c.add_simple_rule("rule1", "r11", "host", "",
"firstn", pg_pool_t::TYPE_ERASURE) >= 0);
ASSERT_TRUE(c.name_exists("default"));
ASSERT_TRUE(c.name_exists("r11"));
ASSERT_TRUE(c.name_exists("r12"));
- ASSERT_EQ(c.remove_root(c.get_item_id("default")), 0);
+ ASSERT_EQ(c.remove_root(g_ceph_context, c.get_item_id("default")), 0);
ASSERT_FALSE(c.name_exists("default"));
ASSERT_FALSE(c.name_exists("r11"));
ASSERT_FALSE(c.name_exists("r12"));
ASSERT_TRUE(c.name_exists("default"));
ASSERT_TRUE(c.name_exists("default~ssd"));
- c.trim_roots_with_class();
+ c.trim_roots_with_class(g_ceph_context);
ASSERT_TRUE(c.name_exists("default"));
ASSERT_FALSE(c.name_exists("default~ssd"));
}
int main(int argc, char **argv) {
vector<const char*> args;
argv_to_vec(argc, (const char **)argv, args);
- env_to_vec(args);
- vector<const char*> def_args;
- def_args.push_back("--debug-crush=0");
- auto cct = global_init(&def_args, args, CEPH_ENTITY_TYPE_CLIENT,
- CODE_ENVIRONMENT_UTILITY, 0);
+ map<string,string> defaults = {
+ { "debug_crush", "0" }
+ };
+ auto cct = global_init(&defaults, args, CEPH_ENTITY_TYPE_CLIENT,
+ CODE_ENVIRONMENT_UTILITY,
+ CINIT_FLAG_NO_DEFAULT_CONFIG_FILE);
common_init_finish(g_ceph_context);
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();