X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Ftest%2Fcrush%2FCrushWrapper.cc;h=d1e45aced1a8e1ca29c15195523aa57f64607479;hb=28e407b858acd3bddc89f68583571f771bb42e46;hp=4502d0d0e69b379984f75437651bbeb8fbf0555d;hpb=d2e6a577eb19928d58b31d1b6e096ca0f03c4052;p=ceph.git diff --git a/ceph/src/test/crush/CrushWrapper.cc b/ceph/src/test/crush/CrushWrapper.cc index 4502d0d0e..d1e45aced 100644 --- a/ceph/src/test/crush/CrushWrapper.cc +++ b/ceph/src/test/crush/CrushWrapper.cc @@ -1024,7 +1024,7 @@ TEST(CrushWrapper, choose_args_compat) { crush_choose_arg choose_args[maxbuckets]; memset(choose_args, '\0', sizeof(crush_choose_arg) * maxbuckets); choose_args[-1-id].ids_size = 0; - choose_args[-1-id].weight_set_size = 1; + choose_args[-1-id].weight_set_positions = 1; choose_args[-1-id].weight_set = &weight_set; crush_choose_arg_map arg_map; arg_map.size = c.get_max_buckets(); @@ -1042,7 +1042,7 @@ TEST(CrushWrapper, choose_args_compat) { CrushWrapper c_new; c_new.decode(i); ASSERT_EQ(1u, c_new.choose_args.size()); - ASSERT_EQ(1u, c_new.choose_args[caid].args[-1-id].weight_set_size); + ASSERT_EQ(1u, c_new.choose_args[caid].args[-1-id].weight_set_positions); ASSERT_EQ(weights, c_new.choose_args[caid].args[-1-id].weight_set[0].weights[0]); ASSERT_EQ(weight, c_new.get_bucket_item_weightf(id, 0)); } @@ -1061,7 +1061,7 @@ TEST(CrushWrapper, choose_args_compat) { } } -TEST(CrushWrapper, remove_unused_root) { +TEST(CrushWrapper, remove_root) { CrushWrapper c; c.create(); c.set_type_name(1, "host"); @@ -1087,9 +1087,9 @@ TEST(CrushWrapper, remove_unused_root) { 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"), true), 0); + ASSERT_EQ(c.remove_root(c.get_item_id("default")), 0); ASSERT_FALSE(c.name_exists("default")); - ASSERT_TRUE(c.name_exists("r11")); + ASSERT_FALSE(c.name_exists("r11")); ASSERT_FALSE(c.name_exists("r12")); } @@ -1111,18 +1111,15 @@ TEST(CrushWrapper, trim_roots_with_class) { int root_id = c.get_item_id("default"); int clone_id; map> old_class_bucket; + map>> cmap_item_weight; // cargs -> bno -> weights set used_ids; ASSERT_EQ(c.device_class_clone(root_id, cl, old_class_bucket, used_ids, - &clone_id), 0); + &clone_id, &cmap_item_weight), 0); ASSERT_TRUE(c.name_exists("default")); ASSERT_TRUE(c.name_exists("default~ssd")); - c.trim_roots_with_class(true); // do nothing because still in use - ASSERT_TRUE(c.name_exists("default")); - ASSERT_TRUE(c.name_exists("default~ssd")); - c.class_bucket.clear(); - c.trim_roots_with_class(true); // do nothing because still in use + c.trim_roots_with_class(); ASSERT_TRUE(c.name_exists("default")); ASSERT_FALSE(c.name_exists("default~ssd")); } @@ -1149,11 +1146,12 @@ TEST(CrushWrapper, device_class_clone) { c.reweight(g_ceph_context); map> old_class_bucket; + map>> cmap_item_weight; // cargs -> bno -> weights set used_ids; int root_id = c.get_item_id("default"); int clone_id; ASSERT_EQ(c.device_class_clone(root_id, cl, old_class_bucket, used_ids, - &clone_id), 0); + &clone_id, &cmap_item_weight), 0); ASSERT_TRUE(c.name_exists("default~ssd")); ASSERT_EQ(clone_id, c.get_item_id("default~ssd")); ASSERT_TRUE(c.subtree_contains(clone_id, item)); @@ -1164,13 +1162,13 @@ TEST(CrushWrapper, device_class_clone) { // cloning again does nothing and returns the existing one int other_clone_id; ASSERT_EQ(c.device_class_clone(root_id, cl, old_class_bucket, used_ids, - &other_clone_id), 0); + &other_clone_id, &cmap_item_weight), 0); ASSERT_EQ(clone_id, other_clone_id); // invalid arguments ASSERT_EQ(c.device_class_clone(12345, cl, old_class_bucket, used_ids, - &other_clone_id), -ECHILD); + &other_clone_id, &cmap_item_weight), -ECHILD); ASSERT_EQ(c.device_class_clone(root_id, 12345, old_class_bucket, used_ids, - &other_clone_id), -EBADF); + &other_clone_id, &cmap_item_weight), -EBADF); } TEST(CrushWrapper, split_id_class) { @@ -1188,11 +1186,12 @@ TEST(CrushWrapper, split_id_class) { c.class_map[item] = class_id; map> old_class_bucket; + map>> cmap_item_weight; // cargs -> bno -> weights set used_ids; int item_id = c.get_item_id("default"); int clone_id; ASSERT_EQ(c.device_class_clone(item_id, class_id, old_class_bucket, used_ids, - &clone_id), 0); + &clone_id, &cmap_item_weight), 0); int retrieved_item_id; int retrieved_class_id; ASSERT_EQ(c.split_id_class(clone_id, &retrieved_item_id, &retrieved_class_id), 0);