]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test/librbd: don't run RemoveFullTry tests with persistent writeback cache
authorIlya Dryomov <idryomov@gmail.com>
Thu, 14 Oct 2021 18:35:16 +0000 (20:35 +0200)
committerDeepika Upadhyay <dupadhya@redhat.com>
Tue, 26 Oct 2021 19:07:42 +0000 (00:37 +0530)
Persistent writeback cache messes with pool quota enforcement on the
OSD side and we don't always break out of the write zeroes loop:

  src/test/librbd/test_librbd.cc:2165: Failure
  Value of: off >= quota && off < size
    Actual: false
  Expected: true

Unfortunately persistent writeback cache doesn't honor FUA [1] so the
workaround for volatile caches from the previous patch doesn't apply.

[1] https://tracker.ceph.com/issues/49715

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 641f782ac7fbb98c36dc41085a616c5cabf3cb20)

src/test/librbd/test_librbd.cc

index 6b06ab68f993104999819b2568c618c7a9bb63f9..7049109353cb79b13174eeee320e77a3e783ba1a 100644 (file)
@@ -2165,6 +2165,7 @@ static void remove_full_try(rados_ioctx_t ioctx, const std::string& image_name,
 
 TEST_F(TestLibRBD, RemoveFullTry)
 {
+  REQUIRE(!is_rbd_pwl_enabled((CephContext *)_rados.cct()));
   REQUIRE(!is_librados_test_stub(_rados));
 
   rados_ioctx_t ioctx;
@@ -2189,6 +2190,7 @@ TEST_F(TestLibRBD, RemoveFullTry)
 TEST_F(TestLibRBD, RemoveFullTryDataPool)
 {
   REQUIRE_FORMAT_V2();
+  REQUIRE(!is_rbd_pwl_enabled((CephContext *)_rados.cct()));
   REQUIRE(!is_librados_test_stub(_rados));
 
   rados_ioctx_t ioctx;