From 29a7d6879284c733fd9d98f8c96353a8c786b4b6 Mon Sep 17 00:00:00 2001 From: xiexingguo Date: Sat, 5 Dec 2015 11:28:18 +0800 Subject: [PATCH] tests: update pool alignment API The old ones are obsolete. Signed-off-by: xie xingguo --- src/test/librados/TestCase.cc | 56 ++++++++++++++++++++++++----------- src/test/librados/aio.cc | 16 ++++++---- src/test/osd/RadosModel.h | 12 ++++++-- 3 files changed, 59 insertions(+), 25 deletions(-) diff --git a/src/test/librados/TestCase.cc b/src/test/librados/TestCase.cc index d52d4d9b0bd42..5efb891de0ec5 100644 --- a/src/test/librados/TestCase.cc +++ b/src/test/librados/TestCase.cc @@ -25,7 +25,9 @@ void RadosTestNS::SetUp() { cluster = RadosTestNS::s_cluster; ASSERT_EQ(0, rados_ioctx_create(cluster, pool_name.c_str(), &ioctx)); - ASSERT_FALSE(rados_ioctx_pool_requires_alignment(ioctx)); + int requires; + ASSERT_EQ(0, rados_ioctx_pool_requires_alignment2(ioctx, &requires)); + ASSERT_FALSE(requires); } void RadosTestNS::TearDown() @@ -71,7 +73,9 @@ void RadosTestPPNS::TearDownTestCase() void RadosTestPPNS::SetUp() { ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx)); - ASSERT_FALSE(ioctx.pool_requires_alignment()); + bool requires; + ASSERT_EQ(0, ioctx.pool_requires_alignment2(&requires)); + ASSERT_FALSE(requires); } void RadosTestPPNS::TearDown() @@ -151,7 +155,9 @@ void RadosTestParamPPNS::SetUp() } ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx)); - ASSERT_FALSE(ioctx.pool_requires_alignment()); + bool requires; + ASSERT_EQ(0, ioctx.pool_requires_alignment2(&requires)); + ASSERT_FALSE(requires); } void RadosTestParamPPNS::TearDown() @@ -191,9 +197,11 @@ void RadosTestECNS::SetUp() { cluster = RadosTestECNS::s_cluster; ASSERT_EQ(0, rados_ioctx_create(cluster, pool_name.c_str(), &ioctx)); - ASSERT_TRUE(rados_ioctx_pool_requires_alignment(ioctx)); - alignment = rados_ioctx_pool_required_alignment(ioctx); - ASSERT_NE((unsigned)0, alignment); + int requires; + ASSERT_EQ(0, rados_ioctx_pool_requires_alignment2(ioctx, &requires)); + ASSERT_TRUE(requires); + ASSERT_EQ(0, rados_ioctx_pool_required_alignment2(ioctx, &alignment)); + ASSERT_NE(0U, alignment); } void RadosTestECNS::TearDown() @@ -219,9 +227,11 @@ void RadosTestECPPNS::TearDownTestCase() void RadosTestECPPNS::SetUp() { ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx)); - ASSERT_TRUE(ioctx.pool_requires_alignment()); - alignment = ioctx.pool_required_alignment(); - ASSERT_NE((unsigned)0, alignment); + bool requires; + ASSERT_EQ(0, ioctx.pool_requires_alignment2(&requires)); + ASSERT_TRUE(requires); + ASSERT_EQ(0, ioctx.pool_required_alignment2(&alignment)); + ASSERT_NE(0U, alignment); } void RadosTestECPPNS::TearDown() @@ -250,7 +260,9 @@ void RadosTest::SetUp() ASSERT_EQ(0, rados_ioctx_create(cluster, pool_name.c_str(), &ioctx)); nspace = get_temp_pool_name(); rados_ioctx_set_namespace(ioctx, nspace.c_str()); - ASSERT_FALSE(rados_ioctx_pool_requires_alignment(ioctx)); + int requires; + ASSERT_EQ(0, rados_ioctx_pool_requires_alignment2(ioctx, &requires)); + ASSERT_FALSE(requires); } void RadosTest::TearDown() @@ -303,7 +315,9 @@ void RadosTestPP::SetUp() ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx)); nspace = get_temp_pool_name(); ioctx.set_namespace(nspace); - ASSERT_FALSE(ioctx.pool_requires_alignment()); + bool requires; + ASSERT_EQ(0, ioctx.pool_requires_alignment2(&requires)); + ASSERT_FALSE(requires); } void RadosTestPP::TearDown() @@ -398,7 +412,9 @@ void RadosTestParamPP::SetUp() ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx)); nspace = get_temp_pool_name(); ioctx.set_namespace(nspace); - ASSERT_FALSE(ioctx.pool_requires_alignment()); + bool requires; + ASSERT_EQ(0, ioctx.pool_requires_alignment2(&requires)); + ASSERT_FALSE(requires); } void RadosTestParamPP::TearDown() @@ -446,9 +462,11 @@ void RadosTestEC::SetUp() ASSERT_EQ(0, rados_ioctx_create(cluster, pool_name.c_str(), &ioctx)); nspace = get_temp_pool_name(); rados_ioctx_set_namespace(ioctx, nspace.c_str()); - ASSERT_TRUE(rados_ioctx_pool_requires_alignment(ioctx)); - alignment = rados_ioctx_pool_required_alignment(ioctx); - ASSERT_NE((unsigned)0, alignment); + int requires; + ASSERT_EQ(0, rados_ioctx_pool_requires_alignment2(ioctx, &requires)); + ASSERT_TRUE(requires); + ASSERT_EQ(0, rados_ioctx_pool_required_alignment2(ioctx, &alignment)); + ASSERT_NE(0U, alignment); } void RadosTestEC::TearDown() @@ -477,9 +495,11 @@ void RadosTestECPP::SetUp() ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx)); nspace = get_temp_pool_name(); ioctx.set_namespace(nspace); - ASSERT_TRUE(ioctx.pool_requires_alignment()); - alignment = ioctx.pool_required_alignment(); - ASSERT_NE((unsigned)0, alignment); + bool requires; + ASSERT_EQ(0, ioctx.pool_requires_alignment2(&requires)); + ASSERT_TRUE(requires); + ASSERT_EQ(0, ioctx.pool_required_alignment2(&alignment)); + ASSERT_NE(0U, alignment); } void RadosTestECPP::TearDown() diff --git a/src/test/librados/aio.cc b/src/test/librados/aio.cc index cbae8770c86f5..1be48013b5fe6 100644 --- a/src/test/librados/aio.cc +++ b/src/test/librados/aio.cc @@ -2208,9 +2208,12 @@ TEST(LibRadosAioEC, RoundTripAppend) { ASSERT_EQ("", test_data.init()); ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data, set_completion_completeEC, set_completion_safeEC, &my_completion)); - ASSERT_TRUE(rados_ioctx_pool_requires_alignment(test_data.m_ioctx)); - uint64_t alignment = rados_ioctx_pool_required_alignment(test_data.m_ioctx); - ASSERT_NE((unsigned)0, alignment); + int requires; + ASSERT_EQ(0, rados_ioctx_pool_requires_alignment2(test_data.m_ioctx, &requires)); + ASSERT_NE(0, requires); + uint64_t alignment; + ASSERT_EQ(0, rados_ioctx_pool_required_alignment2(test_data.m_ioctx, &alignment)); + ASSERT_NE(0U, alignment); int bsize = alignment; char *buf = (char *)new char[bsize]; @@ -2276,8 +2279,11 @@ TEST(LibRadosAioEC, RoundTripAppendPP) { (void*)&test_data, set_completion_completeEC, set_completion_safeEC); AioCompletion *my_completion_null = NULL; ASSERT_NE(my_completion, my_completion_null); - ASSERT_TRUE(test_data.m_ioctx.pool_requires_alignment()); - uint64_t alignment = test_data.m_ioctx.pool_required_alignment(); + bool requires; + ASSERT_EQ(0, test_data.m_ioctx.pool_requires_alignment2(&requires)); + ASSERT_TRUE(requires); + uint64_t alignment; + ASSERT_EQ(0, test_data.m_ioctx.pool_required_alignment2(&alignment)); ASSERT_NE((unsigned)0, alignment); int bsize = alignment; char *buf = (char *)new char[bsize]; diff --git a/src/test/osd/RadosModel.h b/src/test/osd/RadosModel.h index 81c825a7c2045..a18e85b9331d9 100644 --- a/src/test/osd/RadosModel.h +++ b/src/test/osd/RadosModel.h @@ -756,10 +756,18 @@ public: uint64_t prev_length = found && old_value.has_contents() ? old_value.most_recent_gen()->get_length(old_value.most_recent()) : 0; + bool requires; + int r = context->io_ctx.pool_requires_alignment2(&requires); + assert(r == 0); + uint64_t alignment = 0; + if (requires) { + r = context->io_ctx.pool_required_alignment2(&alignment); + assert(r == 0); + assert(alignment != 0); + } cont_gen = new AppendGenerator( prev_length, - (context->io_ctx.pool_requires_alignment() ? - context->io_ctx.pool_required_alignment() : 0), + alignment, context->min_stride_size, context->max_stride_size, 3); -- 2.39.5