AioTestData()
: m_cluster(NULL),
m_ioctx(NULL),
- m_init(false),
- m_complete(false),
- m_safe(false)
+ m_init(false)
{
}
rados_ioctx_t m_ioctx;
std::string m_pool_name;
bool m_init;
- bool m_complete;
- bool m_safe;
};
class AioTestDataPP
{
public:
AioTestDataPP()
- : m_init(false),
- m_complete(false),
- m_safe(false)
+ : m_init(false)
{
}
IoCtx m_ioctx;
std::string m_pool_name;
bool m_init;
- bool m_complete;
- bool m_safe;
};
-void set_completion_complete(rados_completion_t cb, void *arg)
-{
- AioTestData *test = static_cast<AioTestData*>(arg);
- test->m_complete = true;
-}
-
-void set_completion_safe(rados_completion_t cb, void *arg)
-{
- AioTestData *test = static_cast<AioTestData*>(arg);
- test->m_safe = true;
-}
-
-void set_completion_completePP(rados_completion_t cb, void *arg)
-{
- AioTestDataPP *test = static_cast<AioTestDataPP*>(arg);
- test->m_complete = true;
-}
-
-void set_completion_safePP(rados_completion_t cb, void *arg)
-{
- AioTestDataPP *test = static_cast<AioTestDataPP*>(arg);
- test->m_safe = true;
-}
-
TEST(LibRadosAio, TooBig) {
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(-E2BIG, rados_aio_write(test_data.m_ioctx, "foo",
bufferlist bl;
AioCompletion *aio_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, NULL, NULL);
+ nullptr, NULL, NULL);
ASSERT_EQ(-E2BIG, test_data.m_ioctx.aio_write("foo", aio_completion, bl, UINT_MAX, 0));
ASSERT_EQ(-E2BIG, test_data.m_ioctx.aio_append("foo", aio_completion, bl, UINT_MAX));
// ioctx.aio_write_full no way to overflow bl.length()
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
auto sg = make_scope_guard([&] { rados_aio_release(my_completion); });
char buf[128];
memset(buf, 0xcc, sizeof(buf));
rados_ioctx_set_namespace(test_data.m_ioctx, "nspace");
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
auto sg2 = make_scope_guard([&] { rados_aio_release(my_completion2); });
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
my_completion2, buf, sizeof(buf), 0));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo",
ASSERT_EQ("", test_data.init());
test_data.m_ioctx.set_namespace("nspace");
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo",
my_completion, bl1, sizeof(buf), 0));
{
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[256];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
rados_read_op_t op2 = rados_create_read_op();
rados_read_op_read(op2, 0, sizeof(buf2), buf2, NULL, NULL);
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo",
my_completion2, &bl2, sizeof(buf), 0));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo",
my_completion2, &bl2, sizeof(buf), 0));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
std::map<uint64_t, uint64_t> extents;
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completePP, set_completion_safePP);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_sparse_read("foo",
my_completion2, &extents, &bl2, sizeof(buf), 0));
AioTestData test_data;
rados_completion_t my_completion, my_completion2, my_completion3;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_append(test_data.m_ioctx, "foo",
ASSERT_EQ(0, rados_aio_get_return_value(my_completion));
char buf2[128];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_append(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2)));
{
ASSERT_EQ(0, rados_aio_get_return_value(my_completion2));
char buf3[sizeof(buf) + sizeof(buf2)];
memset(buf3, 0, sizeof(buf3));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion3, buf3, sizeof(buf3), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion2,
bl2, sizeof(buf2)));
ASSERT_EQ(0, my_completion2->get_return_value());
bufferlist bl3;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo",
my_completion3, &bl3, 2 * sizeof(buf), 0));
rados_completion_t my_completion;
AioTestData test_data;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
memset(buf, 0xaa, sizeof(buf));
ASSERT_EQ(0, rados_append(test_data.m_ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0, rados_aio_remove(test_data.m_ioctx, "foo", my_completion));
ASSERT_EQ(0, test_data.m_ioctx.append("foo", bl1, sizeof(buf)));
boost::scoped_ptr<AioCompletion> my_completion
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion.get()));
{
TestAlarm alarm;
ASSERT_EQ(0, rados_append(test_data.m_ioctx, "foo", buf, sizeof(buf)));
// async getxattr
rados_completion_t my_completion;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
ASSERT_EQ(0, rados_aio_getxattr(test_data.m_ioctx, "foo", my_completion, attr1, buf, sizeof(buf)));
{
TestAlarm alarm;
rados_aio_release(my_completion);
// async setxattr
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_setxattr(test_data.m_ioctx, "foo", my_completion2, attr1, attr1_buf, sizeof(attr1_buf)));
{
TestAlarm alarm;
rados_aio_release(my_completion2);
// async getxattr
rados_completion_t my_completion3;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_getxattr(test_data.m_ioctx, "foo", my_completion3, attr1, buf, sizeof(buf)));
{
TestAlarm alarm;
// async getxattr
boost::scoped_ptr<AioCompletion> my_completion
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr("foo", my_completion.get(), attr1, bl2));
{
TestAlarm alarm;
ASSERT_EQ("", test_data2.init());
boost::scoped_ptr<AioCompletion> my_completion2
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data2, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_setxattr("foo", my_completion2.get(), attr1, bl3));
{
TestAlarm alarm;
ASSERT_EQ("", test_data3.init());
boost::scoped_ptr<AioCompletion> my_completion3
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data3, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr("foo", my_completion3.get(), attr1, bl4));
{
TestAlarm alarm;
ASSERT_EQ(0, rados_append(test_data.m_ioctx, "foo", buf, sizeof(buf)));
// async setxattr
rados_completion_t my_completion;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
ASSERT_EQ(0, rados_aio_setxattr(test_data.m_ioctx, "foo", my_completion, attr1, attr1_buf, sizeof(attr1_buf)));
{
TestAlarm alarm;
rados_aio_release(my_completion);
// async rmxattr
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_rmxattr(test_data.m_ioctx, "foo", my_completion2, attr1));
{
TestAlarm alarm;
rados_aio_release(my_completion2);
// async getxattr after deletion
rados_completion_t my_completion3;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_getxattr(test_data.m_ioctx, "foo", my_completion3, attr1, buf, sizeof(buf)));
{
TestAlarm alarm;
ASSERT_EQ(0, rados_write(test_data.m_ioctx, "foo_rmxattr", buf2, sizeof(buf2), 0));
// asynx setxattr
rados_completion_t my_completion4;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion4));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion4));
ASSERT_EQ(0, rados_aio_setxattr(test_data.m_ioctx, "foo_rmxattr", my_completion4, attr2, attr2_buf, sizeof(attr2_buf)));
{
TestAlarm alarm;
ASSERT_EQ(0, rados_remove(test_data.m_ioctx, "foo_rmxattr"));
// async rmxattr on non existing object
rados_completion_t my_completion5;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion5));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion5));
ASSERT_EQ(0, rados_aio_rmxattr(test_data.m_ioctx, "foo_rmxattr", my_completion5, attr2));
{
TestAlarm alarm;
bl2.append(attr1_buf, sizeof(attr1_buf));
boost::scoped_ptr<AioCompletion> my_completion
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_setxattr("foo", my_completion.get(), attr1, bl2));
{
TestAlarm alarm;
ASSERT_EQ("", test_data2.init());
boost::scoped_ptr<AioCompletion> my_completion2
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data2, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_rmxattr("foo", my_completion2.get(), attr1));
{
TestAlarm alarm;
ASSERT_EQ("", test_data3.init());
boost::scoped_ptr<AioCompletion> my_completion3
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data3, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
bufferlist bl3;
ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr("foo", my_completion3.get(), attr1, bl3));
{
ASSERT_EQ("", test_data4.init());
boost::scoped_ptr<AioCompletion> my_completion4
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data4, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_setxattr("foo_rmxattr", my_completion4.get(), attr2, bl22));
{
TestAlarm alarm;
ASSERT_EQ("", test_data5.init());
boost::scoped_ptr<AioCompletion> my_completion5
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data5, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_rmxattr("foo_rmxattr", my_completion5.get(), attr2));
{
TestAlarm alarm;
ASSERT_EQ(0, rados_setxattr(test_data.m_ioctx, "foo", attr2, attr2_buf, sizeof(attr2_buf)));
// call async version of getxattrs and wait for completion
rados_completion_t my_completion;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
rados_xattrs_iter_t iter;
ASSERT_EQ(0, rados_aio_getxattrs(test_data.m_ioctx, "foo", my_completion, &iter));
{
// call async version of getxattrs
boost::scoped_ptr<AioCompletion> my_completion
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
std::map<std::string, bufferlist> attrset;
ASSERT_EQ(0, test_data.m_ioctx.aio_getxattrs("foo", my_completion.get(), attrset));
{
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
&bl2, sizeof(buf), 0));
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
}
ASSERT_EQ(0, my_completion->get_return_value());
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
bufferlist bl2;
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0, sizeof(buf));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "nonexistent",
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
bufferlist bl1;
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xee, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
&bl2, sizeof(buf), 0));
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
rados_completion_t flush_completion;
ASSERT_EQ(0, rados_aio_create_completion(NULL, NULL, NULL, &flush_completion));
char buf[128];
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *flush_completion =
test_data.m_cluster.aio_create_completion(NULL, NULL, NULL);
AioCompletion *my_completion_null = NULL;
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
&bl2, sizeof(buf), 0));
AioTestData test_data;
rados_completion_t my_completion, my_completion2, my_completion3;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
ASSERT_EQ(0, rados_aio_get_return_value(my_completion));
char buf2[64];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_write_full(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2)));
{
ASSERT_EQ(0, rados_aio_get_return_value(my_completion2));
char buf3[sizeof(buf) + sizeof(buf2)];
memset(buf3, 0, sizeof(buf3));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion3, buf3, sizeof(buf3), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_write_full("foo", my_completion2, bl2));
{
ASSERT_EQ(0, my_completion2->get_return_value());
bufferlist bl3;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3,
&bl3, sizeof(buf), 0));
AioTestData test_data;
rados_completion_t my_completion, my_completion2, my_completion3;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char full[128];
memset(full, 0xcc, sizeof(full));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf[32];
size_t ws_write_len = sizeof(full);
memset(buf, 0xdd, sizeof(buf));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_writesame(test_data.m_ioctx, "foo",
my_completion2, buf, sizeof(buf),
ws_write_len, 0));
ASSERT_EQ(0, rados_aio_wait_for_complete(my_completion2));
}
ASSERT_EQ(0, rados_aio_get_return_value(my_completion2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion3, full, sizeof(full), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char full[128];
bufferlist bl2;
bl2.append(buf, sizeof(buf));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_writesame("foo", my_completion2, bl2,
ws_write_len, 0));
ASSERT_EQ(0, my_completion2->get_return_value());
bufferlist bl3;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3,
&bl3, sizeof(full), 0));
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
uint64_t psize;
time_t pmtime;
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion2, &psize, &pmtime));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
uint64_t psize;
time_t pmtime;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2,
&psize, &pmtime));
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
rados_ioctx_set_namespace(test_data.m_ioctx, "nspace");
char buf2[64];
memset(buf2, 0xbb, sizeof(buf2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
my_completion, buf2, sizeof(buf2), 0));
{
time_t pmtime;
rados_completion_t my_completion2;
rados_ioctx_set_namespace(test_data.m_ioctx, "");
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion2, &psize, &pmtime));
{
rados_ioctx_set_namespace(test_data.m_ioctx, "nspace");
rados_completion_t my_completion3;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion3, &psize, &pmtime));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
uint64_t psize;
time_t pmtime;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2,
&psize, &pmtime));
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
uint64_t psize;
time_t pmtime;
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion2, &psize, &pmtime));
{
ASSERT_EQ(0, rados_aio_get_return_value(my_completion2));
ASSERT_EQ(sizeof(buf), psize);
rados_completion_t my_completion3;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_remove(test_data.m_ioctx, "foo", my_completion3));
{
TestAlarm alarm;
uint64_t psize2;
time_t pmtime2;
rados_completion_t my_completion4;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion4));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion4));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion4, &psize2, &pmtime2));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
uint64_t psize;
time_t pmtime;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2,
&psize, &pmtime));
uint64_t psize2;
time_t pmtime2;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion3));
{
ASSERT_EQ(0, my_completion3->get_return_value());
AioCompletion *my_completion4 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion4, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion4,
&psize2, &pmtime2));
AioTestData test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
ASSERT_EQ(0, rados_aio_get_return_value(my_completion));
}
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
char out[128];
ASSERT_EQ(0, rados_aio_exec(test_data.m_ioctx, "foo", my_completion2,
"hello", "say_hello", NULL, 0, out, sizeof(out)));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
}
ASSERT_EQ(0, my_completion->get_return_value());
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
bufferlist in, out;
ASSERT_EQ(0, test_data.m_ioctx.aio_exec("foo", my_completion2,
AioTestData test_data;
rados_completion_t my_completion, my_completion2, my_completion3;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[64];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), sizeof(buf)));
{
char buf3[(sizeof(buf) + sizeof(buf2)) * 3];
memset(buf3, 0, sizeof(buf3));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion3, buf3, sizeof(buf3), 0));
{
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion2,
bl2, sizeof(buf2), sizeof(buf)));
bufferlist bl3;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3,
&bl3, (sizeof(buf) + sizeof(buf2) * 3), 0));
ASSERT_EQ("", test_data.init());
ASSERT_EQ(0, rados_lock_exclusive(test_data.m_ioctx, "foo", "TestLock", "Cookie", "", NULL, 0));
rados_completion_t my_completion;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_complete, set_completion_safe, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
ASSERT_EQ(0, rados_aio_unlock(test_data.m_ioctx, "foo", "TestLock", "Cookie", my_completion));
{
TestAlarm alarm;
ASSERT_EQ(0, test_data.m_ioctx.lock_exclusive("foo", "TestLock", "Cookie", "", NULL, 0));
boost::scoped_ptr<AioCompletion> my_completion
(test_data.m_cluster.aio_create_completion
- ((void*)&test_data, set_completion_completePP, set_completion_safePP));
+ (nullptr, nullptr, nullptr));
ASSERT_EQ(0, test_data.m_ioctx.aio_unlock("foo", "TestLock", "Cookie", my_completion.get()));
{
TestAlarm alarm;
AioTestDataEC()
: m_cluster(NULL),
m_ioctx(NULL),
- m_init(false),
- m_complete(false),
- m_safe(false)
+ m_init(false)
{
}
rados_ioctx_t m_ioctx;
std::string m_pool_name;
bool m_init;
- bool m_complete;
- bool m_safe;
};
class AioTestDataECPP
{
public:
AioTestDataECPP()
- : m_init(false),
- m_complete(false),
- m_safe(false)
+ : m_init(false)
{
}
IoCtx m_ioctx;
std::string m_pool_name;
bool m_init;
- bool m_complete;
- bool m_safe;
};
-void set_completion_completeEC(rados_completion_t cb, void *arg)
-{
- AioTestDataEC *test = static_cast<AioTestDataEC*>(arg);
- test->m_complete = true;
-}
-
-void set_completion_safeEC(rados_completion_t cb, void *arg)
-{
- AioTestDataEC *test = static_cast<AioTestDataEC*>(arg);
- test->m_safe = true;
-}
-
-void set_completion_completeECPP(rados_completion_t cb, void *arg)
-{
- AioTestDataECPP *test = static_cast<AioTestDataECPP*>(arg);
- test->m_complete = true;
-}
-
-void set_completion_safeECPP(rados_completion_t cb, void *arg)
-{
- AioTestDataECPP *test = static_cast<AioTestDataECPP*>(arg);
- test->m_safe = true;
-}
-
TEST(LibRadosAioEC, SimpleWrite) {
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
auto sg = make_scope_guard([&] { rados_aio_release(my_completion); });
char buf[128];
memset(buf, 0xcc, sizeof(buf));
rados_ioctx_set_namespace(test_data.m_ioctx, "nspace");
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
auto sg2 = make_scope_guard([&] { rados_aio_release(my_completion2); });
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
my_completion2, buf, sizeof(buf), 0));
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo",
ASSERT_EQ("", test_data.init());
test_data.m_ioctx.set_namespace("nspace");
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo",
my_completion, bl1, sizeof(buf), 0));
{
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[256];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo",
my_completion2, &bl2, sizeof(buf), 0));
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo",
my_completion2, &bl2, sizeof(buf), 0));
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
map<uint64_t, uint64_t> extents;
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeECPP, set_completion_safeECPP);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_sparse_read("foo",
my_completion2, &extents, &bl2, sizeof(buf), 0));
AioTestDataEC test_data;
rados_completion_t my_completion, my_completion2, my_completion3, my_completion4;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
int requires;
ASSERT_EQ(0, rados_ioctx_pool_requires_alignment2(test_data.m_ioctx, &requires));
ASSERT_NE(0, requires);
int hbsize = bsize / 2;
char *buf2 = (char *)new char[hbsize];
memset(buf2, 0xdd, hbsize);
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_append(test_data.m_ioctx, "foo",
my_completion2, buf2, hbsize));
{
}
ASSERT_EQ(0, rados_aio_get_return_value(my_completion2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_append(test_data.m_ioctx, "foo",
my_completion3, buf2, hbsize));
{
int tbsize = bsize + hbsize;
char *buf3 = (char *)new char[tbsize];
memset(buf3, 0, tbsize);
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion4));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion4));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion4, buf3, bsize * 3, 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
bool requires;
bufferlist bl2;
bl2.append(buf2, hbsize);
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion2,
bl2, hbsize));
ASSERT_EQ(0, my_completion2->get_return_value());
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion3,
bl2, hbsize));
bufferlist bl3;
AioCompletion *my_completion4 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion4, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo",
my_completion4, &bl3, bsize * 3, 0));
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
&bl2, sizeof(buf), 0));
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
}
ASSERT_EQ(0, my_completion->get_return_value());
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
bufferlist bl2;
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0, sizeof(buf));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "nonexistent",
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
bufferlist bl1;
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xee, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
&bl2, sizeof(buf), 0));
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
rados_completion_t flush_completion;
ASSERT_EQ(0, rados_aio_create_completion(NULL, NULL, NULL, &flush_completion));
char buf[128];
char buf2[128];
memset(buf2, 0, sizeof(buf2));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *flush_completion =
test_data.m_cluster.aio_create_completion(NULL, NULL, NULL);
AioCompletion *my_completion_null = NULL;
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2,
&bl2, sizeof(buf), 0));
AioTestDataEC test_data;
rados_completion_t my_completion, my_completion2, my_completion3;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
ASSERT_EQ(0, rados_aio_get_return_value(my_completion));
char buf2[64];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_write_full(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2)));
{
ASSERT_EQ(0, rados_aio_get_return_value(my_completion2));
char buf3[sizeof(buf) + sizeof(buf2)];
memset(buf3, 0, sizeof(buf3));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion3, buf3, sizeof(buf3), 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_write_full("foo", my_completion2, bl2));
{
ASSERT_EQ(0, my_completion2->get_return_value());
bufferlist bl3;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3,
&bl3, sizeof(buf), 0));
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
uint64_t psize;
time_t pmtime;
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion2, &psize, &pmtime));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
uint64_t psize;
time_t pmtime;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2,
&psize, &pmtime));
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
rados_ioctx_set_namespace(test_data.m_ioctx, "nspace");
char buf2[64];
memset(buf2, 0xbb, sizeof(buf2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
my_completion, buf2, sizeof(buf2), 0));
{
time_t pmtime;
rados_completion_t my_completion2;
rados_ioctx_set_namespace(test_data.m_ioctx, "");
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion2, &psize, &pmtime));
{
rados_ioctx_set_namespace(test_data.m_ioctx, "nspace");
rados_completion_t my_completion3;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion3, &psize, &pmtime));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
uint64_t psize;
time_t pmtime;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2,
&psize, &pmtime));
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
uint64_t psize;
time_t pmtime;
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion2, &psize, &pmtime));
{
ASSERT_EQ(0, rados_aio_get_return_value(my_completion2));
ASSERT_EQ(sizeof(buf), psize);
rados_completion_t my_completion3;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_remove(test_data.m_ioctx, "foo", my_completion3));
{
TestAlarm alarm;
uint64_t psize2;
time_t pmtime2;
rados_completion_t my_completion4;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion4));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion4));
ASSERT_EQ(0, rados_aio_stat(test_data.m_ioctx, "foo",
my_completion4, &psize2, &pmtime2));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
uint64_t psize;
time_t pmtime;
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2,
&psize, &pmtime));
uint64_t psize2;
time_t pmtime2;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion3));
{
ASSERT_EQ(0, my_completion3->get_return_value());
AioCompletion *my_completion4 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion4, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion4,
&psize2, &pmtime2));
AioTestDataEC test_data;
rados_completion_t my_completion;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
}
ASSERT_EQ(0, rados_aio_get_return_value(my_completion));
rados_completion_t my_completion2;
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
char out[128];
ASSERT_EQ(0, rados_aio_exec(test_data.m_ioctx, "foo", my_completion2,
"hello", "say_hello", NULL, 0, out, sizeof(out)));
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
}
ASSERT_EQ(0, my_completion->get_return_value());
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
bufferlist in, out;
ASSERT_EQ(0, test_data.m_ioctx.aio_exec("foo", my_completion2,
AioTestDataEC test_data;
rados_completion_t my_completion, my_completion2, my_completion3;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
char buf2[64];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion2));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion2));
ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo",
my_completion2, buf2, sizeof(buf2), sizeof(buf)));
{
char buf3[(sizeof(buf) + sizeof(buf2)) * 3];
memset(buf3, 0, sizeof(buf3));
- ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data,
- set_completion_completeEC, set_completion_safeEC, &my_completion3));
+ ASSERT_EQ(0, rados_aio_create_completion(nullptr,
+ nullptr, nullptr, &my_completion3));
ASSERT_EQ(0, rados_aio_read(test_data.m_ioctx, "foo",
my_completion3, buf3, sizeof(buf3), 0));
{
AioTestDataECPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char buf[128];
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion2,
bl2, sizeof(buf2), sizeof(buf)));
bufferlist bl3;
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_completeEC, set_completion_safeEC);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion3, my_completion_null);
ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3,
&bl3, (sizeof(buf) + sizeof(buf2) * 3), 0));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init({{"objecter_retry_writes_after_first_reply", "true"}}));
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion, nullptr);
char buf[128];
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_NE(my_completion2, nullptr);
ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion2));
ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion,
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
AioCompletion *my_completion = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
AioCompletion *my_completion_null = NULL;
ASSERT_NE(my_completion, my_completion_null);
char full[128];
bufferlist cbl;
cbl.append(full, sizeof(full));
AioCompletion *my_completion2 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_EQ(0, test_data.m_ioctx.aio_cmpext("foo", my_completion2, 0, cbl));
{
cbl.clear();
cbl.append(full, sizeof(full));
AioCompletion *my_completion3 = test_data.m_cluster.aio_create_completion(
- (void*)&test_data, set_completion_complete, set_completion_safe);
+ nullptr, nullptr, nullptr);
ASSERT_EQ(0, test_data.m_ioctx.aio_cmpext("foo", my_completion3, 0, cbl));
{