ASSERT_FALSE(flags_set);
C_SaferCond cond_ctx;
- AsyncRequest<> *request = new InvalidateRequest<>(*ictx, CEPH_NOSNAP, false, &cond_ctx);
+ AsyncRequest<> *request = new InvalidateRequest<>(*ictx, CEPH_NOSNAP, true, &cond_ctx);
EXPECT_CALL(get_mock_io_ctx(ictx->md_ctx),
exec(ictx->header_oid, _, StrEq("rbd"), StrEq("set_flags"), _, _,
_, _))
- .Times(0);
+ .WillOnce(DoDefault());
{
std::shared_lock owner_locker{ictx->owner_lock};
ASSERT_EQ(0, cond_ctx.wait());
}
-TEST_F(TestMockObjectMapInvalidateRequest, SkipOnDiskUpdateWithoutLock) {
+TEST_F(TestMockObjectMapInvalidateRequest, ErrorOnDiskUpdateWithoutLock) {
REQUIRE_FEATURE(RBD_FEATURE_OBJECT_MAP);
librbd::ImageCtx *ictx;
std::unique_lock image_locker{ictx->image_lock};
request->send();
}
- ASSERT_EQ(0, cond_ctx.wait());
+ ASSERT_EQ(-EROFS, cond_ctx.wait());
expect_unlock_exclusive_lock(*ictx);
}
-TEST_F(TestMockObjectMapInvalidateRequest, IgnoresOnDiskUpdateFailure) {
+TEST_F(TestMockObjectMapInvalidateRequest, ErrorOnDiskUpdateFailure) {
REQUIRE_FEATURE(RBD_FEATURE_OBJECT_MAP);
librbd::ImageCtx *ictx;
std::unique_lock image_locker{ictx->image_lock};
request->send();
}
- ASSERT_EQ(0, cond_ctx.wait());
+ ASSERT_EQ(-EINVAL, cond_ctx.wait());
expect_unlock_exclusive_lock(*ictx);
}
std::shared_lock image_locker{ictx->image_lock};
request->send();
}
- ASSERT_EQ(0, cond_ctx.wait());
+ ASSERT_EQ(-ENOENT, cond_ctx.wait());
expect_unlock_exclusive_lock(*ictx);
}
std::shared_lock image_locker{ictx->image_lock};
request->send();
}
- ASSERT_EQ(0, cond_ctx.wait());
+ ASSERT_EQ(-ENOENT, cond_ctx.wait());
expect_unlock_exclusive_lock(*ictx);
}
std::shared_lock image_locker{ictx->image_lock};
request->send();
}
- ASSERT_EQ(0, cond_ctx.wait());
+ ASSERT_EQ(-ENOENT, cond_ctx.wait());
expect_unlock_exclusive_lock(*ictx);
}