gen_debugable(70000, bl1);
fs.append_try_flush(writer, bl1.c_str(), bl1.length());
fs.fsync(writer);
-
+ fs.close_writer(writer);
// WAL files don't update internal extents while writing to save memory, only on _replay
fs.umount();
fs.mount();
gen_debugable(70000, bl1);
fs.append_try_flush(writer, bl1.c_str(), bl1.length());
fs.fsync(writer);
+ fs.close_writer(writer);
g_ceph_context->_conf.set_val("bluefs_wal_envelope_mode", "false");
fs.umount();
ASSERT_EQ(0, fs.open_for_write(dir_db, wal_file, &writer, false));
ASSERT_NE(nullptr, writer);
ASSERT_EQ(writer->file->fnode.encoding, bluefs_node_encoding::PLAIN);
+ fs.close_writer(writer);
}
fs.umount();
}
fs.fsync(h);
fs.close_writer(h);
}
+ fs.umount();
}
{
//this was broken due to https://tracker.ceph.com/issues/55307
utime_t mtime;
fs.stat("dir", "file", &file_size, &mtime);
ASSERT_EQ(file_size, 9);
+ fs.umount();
}
TEST(BlueFS, test_log_runway_2) {
std::vector<std::string> ls_longdir;
fs.readdir(longdir, &ls_longdir);
ASSERT_EQ(ls_longdir.front(), longfile);
+ fs.umount();
}
TEST(BlueFS, test_log_runway_3) {
fs.stat(longdir, longfile, &file_size, &mtime);
ASSERT_EQ(file_size, 6);
}
+ fs.umount();
}
TEST(BlueFS, test_log_runway_advance_seq) {
std::string longdir(max_log_runway*2, 'A');
ASSERT_EQ(fs.mkdir(longdir), 0);
fs.compact_log();
+ fs.umount();
}
TEST(BlueFS, test_69481_truncate_corrupts_log) {