]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/librados_test_stub: unbreak selfmanaged_snap_rollback()
authorIlya Dryomov <idryomov@gmail.com>
Sun, 16 Jun 2024 18:40:31 +0000 (20:40 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 12 Jul 2024 21:14:13 +0000 (23:14 +0200)
After the rollback assert in TestGroup.add_snapshot{,PP} was made
meaningful in the previous commit, it fails in mock tests which means
that rollback has never been exercised properly...

While I confess to not following file->snap_id == CEPH_NOSNAP branch
especially given how file variable is shadowed, it's pretty clear that
get_snap_read() doesn't belong here -- the snapshot selected for reads
has nothing to do with rollback.  Replacing it with the rollback snap
ID makes sense of the other branches and makes the tests in question
pass.

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

src/test/librados_test_stub/TestMemIoCtxImpl.cc

index 77ea14366cd097166f7c76661d9d30750c5a5249..248fd5b8febccf6ed5c3eed14584c836669cd3fd 100644 (file)
@@ -479,7 +479,7 @@ int TestMemIoCtxImpl::selfmanaged_snap_rollback(const std::string& oid,
   for (TestMemCluster::FileSnapshots::reverse_iterator it = snaps.rbegin();
       it != snaps.rend(); ++it) {
     TestMemCluster::SharedFile file = *it;
-    if (file->snap_id < get_snap_read()) {
+    if (file->snap_id < snapid) {
       if (versions == 0) {
         // already at the snapshot version
         return 0;