From: Mykola Golub Date: Sat, 12 Nov 2016 07:22:47 +0000 (+0200) Subject: test/librbd: add 'remove demoted image' test X-Git-Tag: v11.1.0~218^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4e682ed5da9b8f2040cec2a2e743a4718c339d31;p=ceph.git test/librbd: add 'remove demoted image' test Signed-off-by: Mykola Golub --- diff --git a/src/test/librbd/test_mirroring.cc b/src/test/librbd/test_mirroring.cc index fcd98ec767f0..e467686cae00 100644 --- a/src/test/librbd/test_mirroring.cc +++ b/src/test/librbd/test_mirroring.cc @@ -239,7 +239,7 @@ public: } void check_remove_image(rbd_mirror_mode_t mirror_mode, uint64_t features, - bool enable_mirroring) { + bool enable_mirroring, bool demote = false) { ASSERT_EQ(0, m_rbd.mirror_mode_set(m_ioctx, mirror_mode)); @@ -253,6 +253,11 @@ public: ASSERT_EQ(0, image.mirror_image_enable()); } + if (demote) { + ASSERT_EQ(0, image.mirror_image_demote()); + ASSERT_EQ(0, image.mirror_image_disable(true)); + } + image.close(); ASSERT_EQ(0, m_rbd.remove(m_ioctx, image_name.c_str())); ASSERT_EQ(0, m_rbd.mirror_mode_set(m_ioctx, RBD_MIRROR_MODE_DISABLED)); @@ -608,6 +613,12 @@ TEST_F(TestMirroring, RemoveImage_With_ImageWithoutJournal) { false); } +TEST_F(TestMirroring, RemoveImage_With_MirrorImageDemoted) { + check_remove_image(RBD_MIRROR_MODE_IMAGE, + RBD_FEATURE_EXCLUSIVE_LOCK | RBD_FEATURE_JOURNALING, + true, true); +} + TEST_F(TestMirroring, MirrorStatusList) { std::vector features_vec(5, RBD_FEATURE_EXCLUSIVE_LOCK | RBD_FEATURE_JOURNALING);