From: Kefu Chai Date: Tue, 29 Oct 2019 12:12:42 +0000 (+0800) Subject: test/libradosstriper: use new aio_create_completion() X-Git-Tag: v15.1.0~1090^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d2b0d699c3a41a9bf3f7c6d08a7140df208d8103;p=ceph-ci.git test/libradosstriper: use new aio_create_completion() to silence -Wdeprecated-declarations warnings Signed-off-by: Kefu Chai --- diff --git a/src/test/libradosstriper/aio.cc b/src/test/libradosstriper/aio.cc index a1dca85f969..68a45aec52d 100644 --- a/src/test/libradosstriper/aio.cc +++ b/src/test/libradosstriper/aio.cc @@ -40,8 +40,9 @@ void set_completion_complete(rados_completion_t cb, void *arg) TEST_F(StriperTest, SimpleWrite) { AioTestData test_data; rados_completion_t my_completion; - ASSERT_EQ(0, rados_aio_create_completion - ((void*)&test_data, set_completion_complete, &my_completion)); + ASSERT_EQ(0, rados_aio_create_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "StriperTest", my_completion, buf, sizeof(buf), 0)); @@ -67,21 +68,23 @@ TEST_F(StriperTestPP, SimpleWritePP) { TEST_F(StriperTest, WaitForSafe) { AioTestData test_data; 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_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "WaitForSafe", my_completion, buf, sizeof(buf), 0)); TestAlarm alarm; - rados_aio_wait_for_safe(my_completion); + rados_aio_wait_for_complete(my_completion); sem_wait(test_data.m_sem); rados_aio_release(my_completion); } TEST_F(StriperTestPP, WaitForSafePP) { AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion = + librados::Rados::aio_create_completion(&test_data, + set_completion_complete); char buf[128]; memset(buf, 0xcc, sizeof(buf)); bufferlist bl1; @@ -96,8 +99,9 @@ TEST_F(StriperTestPP, WaitForSafePP) { TEST_F(StriperTest, RoundTrip) { AioTestData test_data; 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_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "RoundTrip", my_completion, buf, sizeof(buf), 0)); @@ -108,8 +112,9 @@ TEST_F(StriperTest, RoundTrip) { 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_completion2(&test_data, + set_completion_complete, + &my_completion2)); ASSERT_EQ(0, rados_striper_aio_read(striper, "RoundTrip", my_completion2, buf2, sizeof(buf2), 0)); { TestAlarm alarm; @@ -124,8 +129,9 @@ TEST_F(StriperTest, RoundTrip) { TEST_F(StriperTest, RoundTrip2) { AioTestData test_data; 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_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "RoundTrip2", my_completion, buf, sizeof(buf), 0)); @@ -136,8 +142,9 @@ TEST_F(StriperTest, RoundTrip2) { 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_completion2(&test_data, + set_completion_complete, + &my_completion2)); ASSERT_EQ(0, rados_striper_aio_read(striper, "RoundTrip2", my_completion2, buf2, sizeof(buf2), 0)); { TestAlarm alarm; @@ -151,8 +158,8 @@ TEST_F(StriperTest, RoundTrip2) { TEST_F(StriperTestPP, RoundTripPP) { AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); char buf[128]; memset(buf, 0xcc, sizeof(buf)); bufferlist bl1; @@ -163,8 +170,8 @@ TEST_F(StriperTestPP, RoundTripPP) { sem_wait(test_data.m_sem); } bufferlist bl2; - AioCompletion *my_completion2 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion2 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_read("RoundTripPP", my_completion2, &bl2, sizeof(buf), 0)); { TestAlarm alarm; @@ -178,8 +185,8 @@ TEST_F(StriperTestPP, RoundTripPP) { TEST_F(StriperTestPP, RoundTripPP2) { AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); char buf[128]; memset(buf, 0xcc, sizeof(buf)); bufferlist bl1; @@ -190,8 +197,8 @@ TEST_F(StriperTestPP, RoundTripPP2) { sem_wait(test_data.m_sem); } bufferlist bl2; - AioCompletion *my_completion2 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion2 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_read("RoundTripPP2", my_completion2, &bl2, sizeof(buf), 0)); { TestAlarm alarm; @@ -206,8 +213,9 @@ TEST_F(StriperTestPP, RoundTripPP2) { TEST_F(StriperTest, IsComplete) { AioTestData test_data; 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_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "IsComplete", my_completion, buf, sizeof(buf), 0)); @@ -218,8 +226,9 @@ TEST_F(StriperTest, IsComplete) { 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_completion2(&test_data, + set_completion_complete, + &my_completion2)); ASSERT_EQ(0, rados_striper_aio_read(striper, "IsComplete", my_completion2, buf2, sizeof(buf2), 0)); { TestAlarm alarm; @@ -239,8 +248,8 @@ TEST_F(StriperTest, IsComplete) { TEST_F(StriperTestPP, IsCompletePP) { AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); char buf[128]; memset(buf, 0xcc, sizeof(buf)); bufferlist bl1; @@ -251,8 +260,8 @@ TEST_F(StriperTestPP, IsCompletePP) { sem_wait(test_data.m_sem); } bufferlist bl2; - AioCompletion *my_completion2 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion2 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_read("IsCompletePP", my_completion2, &bl2, sizeof(buf), 0)); { TestAlarm alarm; @@ -273,8 +282,9 @@ TEST_F(StriperTestPP, IsCompletePP) { TEST_F(StriperTest, IsSafe) { AioTestData test_data; 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_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "IsSafe", my_completion, buf, sizeof(buf), 0)); @@ -291,8 +301,9 @@ TEST_F(StriperTest, IsSafe) { 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_completion2(&test_data, + set_completion_complete, + &my_completion2)); ASSERT_EQ(0, rados_striper_aio_read(striper, "IsSafe", my_completion2, buf2, sizeof(buf2), 0)); { TestAlarm alarm; @@ -304,45 +315,12 @@ TEST_F(StriperTest, IsSafe) { rados_aio_release(my_completion2); } -TEST_F(StriperTestPP, IsSafePP) { - AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - bufferlist bl1; - bl1.append(buf, sizeof(buf)); - ASSERT_EQ(0, striper.aio_write("IsSafePP", my_completion, bl1, sizeof(buf), 0)); - { - TestAlarm alarm; - // Busy-wait until the AIO completes. - // Normally we wouldn't do this, but we want to test rados_aio_is_safe. - while (true) { - int is_safe = my_completion->is_safe(); - if (is_safe) - break; - } - } - bufferlist bl2; - AioCompletion *my_completion2 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); - ASSERT_EQ(0, striper.aio_read("IsSafePP", my_completion2, &bl2, sizeof(buf), 0)); - { - TestAlarm alarm; - my_completion2->wait_for_complete(); - } - ASSERT_EQ(0, memcmp(buf, bl2.c_str(), sizeof(buf))); - sem_wait(test_data.m_sem); - sem_wait(test_data.m_sem); - my_completion->release(); - my_completion2->release(); -} - TEST_F(StriperTest, RoundTripAppend) { AioTestData test_data; rados_completion_t my_completion, my_completion2, my_completion3; - ASSERT_EQ(0, rados_aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe, &my_completion)); + ASSERT_EQ(0, rados_aio_create_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_append(striper, "RoundTripAppend", my_completion, buf, sizeof(buf))); @@ -352,8 +330,9 @@ TEST_F(StriperTest, RoundTripAppend) { } 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_completion2(&test_data, + set_completion_complete, + &my_completion2)); ASSERT_EQ(0, rados_striper_aio_append(striper, "RoundTripAppend", my_completion2, buf2, sizeof(buf))); { TestAlarm alarm; @@ -361,8 +340,9 @@ TEST_F(StriperTest, RoundTripAppend) { } 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_completion2(&test_data, + set_completion_complete, + &my_completion3)); ASSERT_EQ(0, rados_striper_aio_read(striper, "RoundTripAppend", my_completion3, buf3, sizeof(buf3), 0)); { TestAlarm alarm; @@ -379,8 +359,8 @@ TEST_F(StriperTest, RoundTripAppend) { TEST_F(StriperTestPP, RoundTripAppendPP) { AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); char buf[128]; memset(buf, 0xcc, sizeof(buf)); bufferlist bl1; @@ -394,16 +374,16 @@ TEST_F(StriperTestPP, RoundTripAppendPP) { memset(buf2, 0xdd, sizeof(buf2)); bufferlist bl2; bl2.append(buf2, sizeof(buf2)); - AioCompletion *my_completion2 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion2 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_append("RoundTripAppendPP", my_completion2, bl2, sizeof(buf2))); { TestAlarm alarm; my_completion2->wait_for_complete(); } bufferlist bl3; - AioCompletion *my_completion3 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion3 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_read("RoundTripAppendPP", my_completion3, &bl3, 2 * sizeof(buf), 0)); { TestAlarm alarm; @@ -421,8 +401,9 @@ TEST_F(StriperTestPP, RoundTripAppendPP) { TEST_F(StriperTest, Flush) { AioTestData test_data; 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_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xee, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "Flush", my_completion, buf, sizeof(buf), 0)); @@ -430,8 +411,9 @@ TEST_F(StriperTest, Flush) { 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_completion2(&test_data, + set_completion_complete, + &my_completion2)); ASSERT_EQ(0, rados_striper_aio_read(striper, "Flush", my_completion2, buf2, sizeof(buf2), 0)); { TestAlarm alarm; @@ -445,8 +427,8 @@ TEST_F(StriperTest, Flush) { TEST_F(StriperTestPP, FlushPP) { AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); char buf[128]; memset(buf, 0xee, sizeof(buf)); bufferlist bl1; @@ -454,8 +436,8 @@ TEST_F(StriperTestPP, FlushPP) { ASSERT_EQ(0, striper.aio_write("FlushPP", my_completion, bl1, sizeof(buf), 0)); striper.aio_flush(); bufferlist bl2; - AioCompletion *my_completion2 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion2 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_read("FlushPP", my_completion2, &bl2, sizeof(buf), 0)); { TestAlarm alarm; @@ -470,8 +452,9 @@ TEST_F(StriperTestPP, FlushPP) { TEST_F(StriperTest, RoundTripWriteFull) { AioTestData test_data; rados_completion_t my_completion, my_completion2, my_completion3; - ASSERT_EQ(0, rados_aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe, &my_completion)); + ASSERT_EQ(0, rados_aio_create_completion2(&test_data, + set_completion_complete, + &my_completion)); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_striper_aio_write(striper, "RoundTripWriteFull", my_completion, buf, sizeof(buf), 0)); @@ -481,8 +464,9 @@ TEST_F(StriperTest, RoundTripWriteFull) { } 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_completion2(&test_data, + set_completion_complete, + &my_completion2)); ASSERT_EQ(0, rados_striper_aio_write_full(striper, "RoundTripWriteFull", my_completion2, buf2, sizeof(buf2))); { TestAlarm alarm; @@ -490,8 +474,9 @@ TEST_F(StriperTest, RoundTripWriteFull) { } 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_completion2(&test_data, + set_completion_complete, + &my_completion3)); ASSERT_EQ(0, rados_striper_aio_read(striper, "RoundTripWriteFull", my_completion3, buf3, sizeof(buf3), 0)); { TestAlarm alarm; @@ -507,8 +492,8 @@ TEST_F(StriperTest, RoundTripWriteFull) { TEST_F(StriperTestPP, RoundTripWriteFullPP) { AioTestData test_data; - AioCompletion *my_completion = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); char buf[128]; memset(buf, 0xcc, sizeof(buf)); bufferlist bl1; @@ -522,16 +507,16 @@ TEST_F(StriperTestPP, RoundTripWriteFullPP) { memset(buf2, 0xdd, sizeof(buf2)); bufferlist bl2; bl2.append(buf2, sizeof(buf2)); - AioCompletion *my_completion2 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion2 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_write_full("RoundTripWriteFullPP", my_completion2, bl2)); { TestAlarm alarm; my_completion2->wait_for_complete(); } bufferlist bl3; - AioCompletion *my_completion3 = librados::Rados::aio_create_completion - ((void*)&test_data, set_completion_complete, set_completion_safe); + AioCompletion *my_completion3 = + librados::Rados::aio_create_completion(&test_data, set_completion_complete); ASSERT_EQ(0, striper.aio_read("RoundTripWriteFullPP", my_completion3, &bl3, sizeof(buf), 0)); { TestAlarm alarm; @@ -554,8 +539,9 @@ TEST_F(StriperTest, RemoveTest) { // async remove it AioTestData test_data; rados_completion_t my_completion; - ASSERT_EQ(0, rados_aio_create_completion2((void*)&test_data, - set_completion_complete, set_completion_safe, &my_completion)); + ASSERT_EQ(0, rados_aio_create_completion2(&test_data, + set_completion_complete, + &my_completion)); ASSERT_EQ(0, rados_striper_aio_remove(striper, "RemoveTest", my_completion)); { TestAlarm alarm; @@ -573,7 +559,7 @@ TEST_F(StriperTestPP, RemoveTestPP) { bufferlist bl; bl.append(buf, sizeof(buf)); ASSERT_EQ(0, striper.write("RemoveTestPP", bl, sizeof(buf), 0)); - AioCompletion *my_completion = cluster.aio_create_completion(0, 0, 0); + AioCompletion *my_completion = cluster.aio_create_completion(nullptr, nullptr); ASSERT_EQ(0, striper.aio_remove("RemoveTestPP", my_completion)); { TestAlarm alarm;