]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
src/test: use tier-flush explicitly
authormyoungwon oh <ohmyoungwon@gmail.com>
Mon, 3 Aug 2020 06:01:37 +0000 (15:01 +0900)
committermyoungwon oh <ohmyoungwon@gmail.com>
Tue, 18 Aug 2020 13:09:36 +0000 (22:09 +0900)
flush no longer occurs when all chunks are dirty

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsumg.com>
src/test/librados/tier_cxx.cc

index 987820291a5d22737131693f5de3de1e1aabd080..c07cabbee108e5b3c3ef9957805288c1486e9f98 100644 (file)
@@ -3486,13 +3486,17 @@ TEST_F(LibRadosTwoPoolsPP, ManifestDedupRefRead) {
     op.write_full(bl);
     ASSERT_EQ(0, ioctx.operate("foo-dedup", &op));
   }
+  // flush
   {
-    // do flush
-    bufferlist bl;
-    bl.append("There hi");
-    ObjectWriteOperation op;
-    op.write_full(bl);
-    ASSERT_EQ(0, ioctx.operate("foo-dedup", &op));
+    ObjectReadOperation op;
+    op.tier_flush();
+    librados::AioCompletion *completion = cluster.aio_create_completion();
+    ASSERT_EQ(0, ioctx.aio_operate(
+      "foo-dedup", completion, &op,
+      librados::OPERATION_IGNORE_CACHE, NULL));
+    completion->wait_for_complete();
+    ASSERT_EQ(0, completion->get_return_value());
+    completion->release();
   }
   {
     // make a dirty chunks
@@ -3502,13 +3506,17 @@ TEST_F(LibRadosTwoPoolsPP, ManifestDedupRefRead) {
     op.write_full(bl);
     ASSERT_EQ(0, ioctx.operate("foo", &op));
   }
+  // flush
   {
-    // do flush
-    bufferlist bl;
-    bl.append("There hi");
-    ObjectWriteOperation op;
-    op.write_full(bl);
-    ASSERT_EQ(0, ioctx.operate("foo", &op));
+    ObjectReadOperation op;
+    op.tier_flush();
+    librados::AioCompletion *completion = cluster.aio_create_completion();
+    ASSERT_EQ(0, ioctx.aio_operate(
+      "foo", completion, &op,
+      librados::OPERATION_IGNORE_CACHE, NULL));
+    completion->wait_for_complete();
+    ASSERT_EQ(0, completion->get_return_value());
+    completion->release();
   }
   // chunk's refcount 
   {