From d8e087de45bd654bd52e01742afda6a2c3a4c47f Mon Sep 17 00:00:00 2001 From: Pere Diaz Bou Date: Fri, 29 Sep 2023 13:16:42 +0200 Subject: [PATCH] os/bluestore: test _extend_log sequence advance Signed-off-by: Pere Diaz Bou (cherry picked from commit e785ef23339eba41bf786a68bba845f1916feb61) (cherry picked from commit a71c33869d174a67c6c9eedca4997442a48f3a6c) --- src/test/objectstore/test_bluefs.cc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/test/objectstore/test_bluefs.cc b/src/test/objectstore/test_bluefs.cc index 7584650a7070b..ef4b97d731430 100644 --- a/src/test/objectstore/test_bluefs.cc +++ b/src/test/objectstore/test_bluefs.cc @@ -1558,6 +1558,30 @@ TEST(BlueFS, test_log_runway_3) { } } +TEST(BlueFS, test_log_runway_advance_seq) { + uint64_t max_log_runway = 65536; + ConfSaver conf(g_ceph_context->_conf); + conf.SetVal("bluefs_alloc_size", "4096"); + conf.SetVal("bluefs_shared_alloc_size", "4096"); + conf.SetVal("bluefs_compact_log_sync", "false"); + conf.SetVal("bluefs_min_log_runway", "32768"); + conf.SetVal("bluefs_max_log_runway", std::to_string(max_log_runway).c_str()); + conf.ApplyChanges(); + + uint64_t size = 1048576 * 128; + TempBdev bdev{size}; + BlueFS fs(g_ceph_context); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 0)); + uuid_d fsid; + ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); + ASSERT_EQ(0, fs.mount()); + ASSERT_EQ(0, fs.maybe_verify_layout({ BlueFS::BDEV_DB, false, false })); + + std::string longdir(max_log_runway*2, 'A'); + ASSERT_EQ(fs.mkdir(longdir), 0); + fs.compact_log(); +} + int main(int argc, char **argv) { auto args = argv_to_vec(argc, argv); map defaults = { -- 2.39.5