]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
Merge pull request #51629 from Matan-B/wip-50491-reef
authorMatan <mbreizma@redhat.com>
Tue, 23 May 2023 08:23:05 +0000 (10:23 +0200)
committerGitHub <noreply@github.com>
Tue, 23 May 2023 08:23:05 +0000 (10:23 +0200)
reef: test/librados/snapshots*: Enable Crimson supported tests

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
1  2 
src/test/librados/snapshots.cc
src/test/librados/snapshots_cxx.cc

Simple merge
index 83e3bd36172ad9c081d3382f4c6d332f5c8e9bb7,de4e30d7603e7d54ec981815733de004fb1f8794..d2f14bb749192c3ac76ff6c46ff12f00f2a22801
@@@ -465,55 -459,7 +459,54 @@@ TEST_F(LibRadosSnapshotsSelfManagedPP, 
    comp4->release();
  }
  
 +TEST_F(LibRadosSnapshotsSelfManagedPP, WriteRollback) {
 +  // https://tracker.ceph.com/issues/59114
 +  GTEST_SKIP();
 +  uint64_t snapid = 5;
 +
 +  // buf1
 +  char buf[bufsize];
 +  memset(buf, 0xcc, sizeof(buf));
 +  bufferlist bl;
 +  bl.append(buf, sizeof(buf));
 +
 +  // buf2
 +  char buf2[sizeof(buf)];
 +  memset(buf2, 0xdd, sizeof(buf2));
 +  bufferlist bl2;
 +  bl2.append(buf2, sizeof(buf2));
 +
 +  // First write
 +  ObjectWriteOperation op_write1;
 +  op_write1.write(0, bl);
 +  // Operate
 +  librados::AioCompletion *comp_write = cluster.aio_create_completion();
 +  ASSERT_EQ(0, ioctx.aio_operate("foo", comp_write, &op_write1, 0));
 +  ASSERT_EQ(0, comp_write->wait_for_complete());
 +  ASSERT_EQ(0, comp_write->get_return_value());
 +  comp_write->release();
 +
 +  // Take Snapshot
 +  ASSERT_EQ(0, ioctx.selfmanaged_snap_create(&snapid));
 +
 +  // Rollback + Second write in the same op
 +  ObjectWriteOperation op_write2_snap_rollback;
 +  op_write2_snap_rollback.write(0, bl2);
 +  op_write2_snap_rollback.selfmanaged_snap_rollback(snapid);
 +  // Operate
 +  librados::AioCompletion *comp_write2 = cluster.aio_create_completion();
 +  ASSERT_EQ(0, ioctx.aio_operate("foo", comp_write2, &op_write2_snap_rollback, 0));
 +  ASSERT_EQ(0, comp_write2->wait_for_complete());
 +  ASSERT_EQ(0, comp_write2->get_return_value());
 +  comp_write2->release();
 +
 +  // Resolved should be first write
 +  bufferlist bl3;
 +  EXPECT_EQ((int)sizeof(buf), ioctx.read("foo", bl3, sizeof(buf), 0));
 +  EXPECT_EQ(0, memcmp(buf, bl3.c_str(), sizeof(buf)));
 +}
 +
  TEST_F(LibRadosSnapshotsSelfManagedPP, ReusePurgedSnap) {
-   SKIP_IF_CRIMSON();
    std::vector<uint64_t> my_snaps;
    my_snaps.push_back(-2);
    ASSERT_EQ(0, ioctx.selfmanaged_snap_create(&my_snaps.back()));