ASSERT_EQ(0, mirror_peer_add(&ioctx, "uuid2", "cluster2", "admin"));
ASSERT_EQ(-ESTALE, mirror_peer_add(&ioctx, "uuid2", "cluster3", "foo"));
ASSERT_EQ(-EEXIST, mirror_peer_add(&ioctx, "uuid3", "cluster1", "foo"));
- ASSERT_EQ(0, mirror_peer_add(&ioctx, "uuid3", "cluster3", "admin", 123));
+ ASSERT_EQ(0, mirror_peer_add(&ioctx, "uuid3", "cluster3", "admin"));
ASSERT_EQ(-EEXIST, mirror_peer_add(&ioctx, "uuid4", "cluster3", "admin"));
- ASSERT_EQ(-EEXIST, mirror_peer_add(&ioctx, "uuid4", "cluster3", "admin", 123));
- ASSERT_EQ(0, mirror_peer_add(&ioctx, "uuid4", "cluster3", "admin", 234));
ASSERT_EQ(0, mirror_peer_list(&ioctx, &peers));
std::vector<cls::rbd::MirrorPeer> expected_peers = {
{"uuid1", "cluster1", "client", -1},
{"uuid2", "cluster2", "admin", -1},
- {"uuid3", "cluster3", "admin", 123},
- {"uuid4", "cluster3", "admin", 234}};
+ {"uuid3", "cluster3", "admin", -1}};
ASSERT_EQ(expected_peers, peers);
ASSERT_EQ(0, mirror_peer_remove(&ioctx, "uuid5"));
- ASSERT_EQ(0, mirror_peer_remove(&ioctx, "uuid4"));
ASSERT_EQ(0, mirror_peer_remove(&ioctx, "uuid2"));
ASSERT_EQ(-ENOENT, mirror_peer_set_client(&ioctx, "uuid4", "new client"));
ASSERT_EQ(0, mirror_peer_list(&ioctx, &peers));
expected_peers = {
{"uuid1", "cluster1", "new client", -1},
- {"uuid3", "new cluster", "admin", 123}};
+ {"uuid3", "new cluster", "admin", -1}};
ASSERT_EQ(expected_peers, peers);
ASSERT_EQ(-EBUSY, mirror_mode_set(&ioctx, cls::rbd::MIRROR_MODE_DISABLED));
ASSERT_EQ(0, sparsify(&ioctx, oid, 16, false));
std::map<uint64_t, uint64_t> m;
bufferlist outbl;
- std::map<uint64_t, uint64_t> expected_m = {{0, 0}};
+ std::map<uint64_t, uint64_t> expected_m;
bufferlist expected_outbl;
- if (sparse_read_supported) {
+ switch (int r = ioctx.sparse_read(oid, m, outbl, inbl.length(), 0); r) {
+ case 0:
expected_m = {};
+ ASSERT_EQ(expected_m, m);
+ break;
+ case 1:
+ expected_m = {{0, 0}};
+ ASSERT_EQ(expected_m, m);
+ break;
+ default:
+ FAIL() << r << " is odd";
}
- ASSERT_EQ((int)expected_m.size(),
- ioctx.sparse_read(oid, m, outbl, inbl.length(), 0));
ASSERT_EQ(m, expected_m);
ASSERT_EQ(0, sparsify(&ioctx, oid, 16, true));
ASSERT_EQ(-ENOENT, sparsify(&ioctx, oid, 16, true));