From fbd177d27ebe6c79359f1977a07c100fb0c89a14 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Wed, 23 Nov 2022 13:22:59 +0000 Subject: [PATCH] test/librados/aio_cxx: Simple PoolEIOFlag is added Useful for debugging. Signed-off-by: Matan Breizman --- src/test/librados/aio_cxx.cc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/test/librados/aio_cxx.cc b/src/test/librados/aio_cxx.cc index 1f3d6c4b85b73..b98d369a1d350 100644 --- a/src/test/librados/aio_cxx.cc +++ b/src/test/librados/aio_cxx.cc @@ -2287,6 +2287,30 @@ void pool_io_callback(completion_t cb, void *arg /* Actually AioCompletion* */) } } +TEST(LibRadosAio, SimplePoolEIOFlag) { + AioTestDataPP test_data; + ASSERT_EQ("", test_data.init()); + + auto my_completion = std::unique_ptr{Rados::aio_create_completion()}; + ASSERT_TRUE(my_completion); + + bufferlist empty; + ASSERT_EQ(0, test_data.m_cluster.mon_command( + "{\"prefix\": \"osd pool set\", \"pool\": \"" + test_data.m_pool_name + + "\", \"var\": \"eio\", \"val\": \"true\"}", empty, nullptr, nullptr)); + + bufferlist bl; + bl.append("some data"); + + ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(), + bl, bl.length(), 0)); + { + TestAlarm alarm; + ASSERT_EQ(0, my_completion->wait_for_complete()); + } + ASSERT_EQ(-EIO, my_completion->get_return_value()); +} + TEST(LibRadosAio, PoolEIOFlag) { AioTestDataPP test_data; ASSERT_EQ("", test_data.init()); -- 2.39.5