r = queue_transaction(store, ch, std::move(t));
ASSERT_EQ(r, 0);
}
+ ch.reset();
}
TEST_P(StoreTest, IORemount) {
ASSERT_EQ(r, 0);
{
+ ch.reset();
// this trims hoid one out of onode cache
EXPECT_EQ(store->umount(), 0);
EXPECT_EQ(store->mount(), 0);
ASSERT_EQ(r, 0);
{
+ ch.reset();
// this ensures remove operation submitted to kv store
EXPECT_EQ(store->umount(), 0);
EXPECT_EQ(store->mount(), 0);
r = queue_transaction(store, ch, std::move(t));
ASSERT_EQ(r, 0);
}
+ ch.reset();
}
TEST_P(StoreTest, BlueStoreUnshareBlobBugTest) {
ASSERT_EQ(r, 0);
{
+ ch.reset();
// this trims hoid one out of onode cache
EXPECT_EQ(store->umount(), 0);
EXPECT_EQ(store->mount(), 0);
// inject stray omap
bstore->inject_stray_omap(123456, "somename");
+ ch.reset();
bstore->umount();
// check we detect injected stray omap..
bstore->inject_legacy_omap(cid, oid);
bstore->inject_legacy_omap(cid, oid2);
+ ch.reset();
bstore->umount();
// check we injected an issue
int r = queue_transaction(store, ch, std::move(t));
ASSERT_EQ(r, 0);
}
+ ch.reset();
bstore->umount();
// check omap's been fixed.
ASSERT_EQ(bstore->fsck(false), 0); // this will fail without fix for #43824
r = queue_transaction(store, ch, std::move(t));
ASSERT_EQ(r, 0);
// force cache clear
+ ch.reset();
EXPECT_EQ(store->umount(), 0);
EXPECT_EQ(store->mount(), 0);
}