From 350b42254dc8374489a51ee6dbfeb9beb862d409 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Wed, 28 Sep 2022 13:43:50 +0300 Subject: [PATCH] os/bluestore: make BlueFS an exclusive selector for volume reserved block size. Signed-off-by: Igor Fedotov (cherry picked from commit 3cc75e8670d4fb43062ce41744262f858116f764) --- src/os/bluestore/BlueFS.cc | 21 ++++++++- src/os/bluestore/BlueFS.h | 1 - src/os/bluestore/BlueStore.cc | 43 ++++++----------- src/os/bluestore/bluestore_common.h | 10 ++++ src/test/objectstore/test_bluefs.cc | 72 ++++++++++++++--------------- 5 files changed, 79 insertions(+), 68 deletions(-) diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 7d15531eaf76a..0e9941cea4b21 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -436,6 +436,7 @@ void BlueFS::_shutdown_logger() { cct->get_perfcounters_collection()->remove(logger); delete logger; + logger = nullptr; } void BlueFS::_update_logger_stats() @@ -455,11 +456,26 @@ void BlueFS::_update_logger_stats() } int BlueFS::add_block_device(unsigned id, const string& path, bool trim, - uint64_t reserved, bluefs_shared_alloc_context_t* _shared_alloc) { + uint64_t reserved; + switch(id) { + case BDEV_WAL: + case BDEV_NEWWAL: + reserved = BDEV_LABEL_BLOCK_SIZE; + break; + case BDEV_DB: + case BDEV_NEWDB: + reserved = DB_SUPER_RESERVED; + break; + case BDEV_SLOW: + reserved = 0; + break; + default: + ceph_assert(false); + } dout(10) << __func__ << " bdev " << id << " path " << path << " " - << reserved << dendl; + << " reserved " << reserved << dendl; ceph_assert(id < bdev.size()); ceph_assert(bdev[id] == NULL); BlockDevice *b = BlockDevice::create(cct, path, NULL, NULL, @@ -728,6 +744,7 @@ void BlueFS::_init_alloc() << ", allocator name " << name << ", allocator type " << cct->_conf->bluefs_allocator << ", capacity 0x" << bdev[id]->get_size() + << ", reserved 0x" << block_reserved[id] << ", block size 0x" << alloc_size[id] << std::dec << dendl; alloc[id] = Allocator::create(cct, cct->_conf->bluefs_allocator, diff --git a/src/os/bluestore/BlueFS.h b/src/os/bluestore/BlueFS.h index 2d2e9b066e9e5..d31f7e5d2ddd5 100644 --- a/src/os/bluestore/BlueFS.h +++ b/src/os/bluestore/BlueFS.h @@ -735,7 +735,6 @@ public: } int add_block_device(unsigned bdev, const std::string& path, bool trim, - uint64_t reserved, bluefs_shared_alloc_context_t* _shared_alloc = nullptr); bool bdev_support_label(unsigned id); uint64_t get_block_device_size(unsigned bdev) const; diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 3037e827ba0a4..a92d3063b8a5b 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -141,14 +141,6 @@ const string PREFIX_ZONED_CL_INFO = "G"; // (per-zone cleaner metadata) const string BLUESTORE_GLOBAL_STATFS_KEY = "bluestore_statfs"; -// write a label in the first block. always use this size. note that -// bluefs makes a matching assumption about the location of its -// superblock (always the second block of the device). -#define BDEV_LABEL_BLOCK_SIZE 4096 - -// reserve: label (4k) + bluefs super (4k), which means we start at 8k. -#define SUPER_RESERVED 8192 - #define OBJECT_MAX_SIZE 0xffffffff // 32 bits @@ -6233,8 +6225,7 @@ int BlueStore::_minimal_open_bluefs(bool create) if (::stat(bfn.c_str(), &st) == 0) { r = bluefs->add_block_device( BlueFS::BDEV_DB, bfn, - create && cct->_conf->bdev_enable_discard, - SUPER_RESERVED); + create && cct->_conf->bdev_enable_discard); if (r < 0) { derr << __func__ << " add block device(" << bfn << ") returned: " << cpp_strerror(r) << dendl; @@ -6271,7 +6262,6 @@ int BlueStore::_minimal_open_bluefs(bool create) bfn = path + "/block"; // never trim here r = bluefs->add_block_device(bluefs_layout.shared_bdev, bfn, false, - 0, // no need to provide valid 'reserved' for shared dev &shared_alloc); if (r < 0) { derr << __func__ << " add block device(" << bfn << ") returned: " @@ -6282,8 +6272,7 @@ int BlueStore::_minimal_open_bluefs(bool create) bfn = path + "/block.wal"; if (::stat(bfn.c_str(), &st) == 0) { r = bluefs->add_block_device(BlueFS::BDEV_WAL, bfn, - create && cct->_conf->bdev_enable_discard, - BDEV_LABEL_BLOCK_SIZE); + create && cct->_conf->bdev_enable_discard); if (r < 0) { derr << __func__ << " add block device(" << bfn << ") returned: " << cpp_strerror(r) << dendl; @@ -7422,8 +7411,7 @@ int BlueStore::add_new_bluefs_device(int id, const string& dev_path) ceph_assert(r == 0); r = bluefs->add_block_device(BlueFS::BDEV_NEWWAL, p, - cct->_conf->bdev_enable_discard, - BDEV_LABEL_BLOCK_SIZE); + cct->_conf->bdev_enable_discard); ceph_assert(r == 0); if (bluefs->bdev_support_label(BlueFS::BDEV_NEWWAL)) { @@ -7444,8 +7432,7 @@ int BlueStore::add_new_bluefs_device(int id, const string& dev_path) ceph_assert(r == 0); r = bluefs->add_block_device(BlueFS::BDEV_NEWDB, p, - cct->_conf->bdev_enable_discard, - SUPER_RESERVED); + cct->_conf->bdev_enable_discard); ceph_assert(r == 0); if (bluefs->bdev_support_label(BlueFS::BDEV_NEWDB)) { @@ -7574,8 +7561,7 @@ int BlueStore::migrate_to_new_bluefs_device(const set& devs_source, bluefs_layout.dedicated_wal = true; r = bluefs->add_block_device(BlueFS::BDEV_NEWWAL, dev_path, - cct->_conf->bdev_enable_discard, - BDEV_LABEL_BLOCK_SIZE); + cct->_conf->bdev_enable_discard); ceph_assert(r == 0); if (bluefs->bdev_support_label(BlueFS::BDEV_NEWWAL)) { @@ -7593,8 +7579,7 @@ int BlueStore::migrate_to_new_bluefs_device(const set& devs_source, bluefs_layout.dedicated_db = true; r = bluefs->add_block_device(BlueFS::BDEV_NEWDB, dev_path, - cct->_conf->bdev_enable_discard, - SUPER_RESERVED); + cct->_conf->bdev_enable_discard); ceph_assert(r == 0); if (bluefs->bdev_support_label(BlueFS::BDEV_NEWDB)) { @@ -9378,7 +9363,7 @@ int BlueStore::_fsck_on_open(BlueStore::FSCKDepth depth, bool repair) bluefs_used_blocks = used_blocks; apply_for_bitset_range( - 0, std::max(min_alloc_size, SUPER_RESERVED), alloc_size, used_blocks, + 0, std::max(min_alloc_size, DB_SUPER_RESERVED), alloc_size, used_blocks, [&](uint64_t pos, mempool_dynamic_bitset &bs) { bs.set(pos); } @@ -10075,14 +10060,14 @@ int BlueStore::_fsck_on_open(BlueStore::FSCKDepth depth, bool repair) [&](uint64_t pos, mempool_dynamic_bitset &bs) { ceph_assert(pos < bs.size()); if (bs.test(pos) && !bluefs_used_blocks.test(pos)) { - if (offset == SUPER_RESERVED && - length == min_alloc_size - SUPER_RESERVED) { + if (offset == DB_SUPER_RESERVED && + length == min_alloc_size - DB_SUPER_RESERVED) { // this is due to the change just after luminous to min_alloc_size // granularity allocations, and our baked in assumption at the top - // of _fsck that 0~round_up_to(SUPER_RESERVED,min_alloc_size) is used - // (vs luminous's round_up_to(SUPER_RESERVED,block_size)). harmless, + // of _fsck that 0~round_up_to(DB_SUPER_RESERVED,min_alloc_size) is used + // (vs luminous's round_up_to(DB_SUPER_RESERVED,block_size)). harmless, // since we will never allocate this region below min_alloc_size. - dout(10) << __func__ << " ignoring free extent between SUPER_RESERVED" + dout(10) << __func__ << " ignoring free extent between DB_SUPER_RESERVED" << " and min_alloc_size, 0x" << std::hex << offset << "~" << length << std::dec << dendl; } else { @@ -12428,7 +12413,7 @@ ObjectMap::ObjectMapIterator BlueStore::get_omap_iterator( uint64_t BlueStore::_get_ondisk_reserved() const { ceph_assert(min_alloc_size); return round_up_to( - std::max(SUPER_RESERVED, min_alloc_size), min_alloc_size); + std::max(DB_SUPER_RESERVED, min_alloc_size), min_alloc_size); } void BlueStore::_prepare_ondisk_format_super(KeyValueDB::Transaction& t) @@ -19307,7 +19292,7 @@ int BlueStore::read_allocation_from_onodes(SimpleBitmap *sbmap, read_alloc_stats int BlueStore::reconstruct_allocations(SimpleBitmap *sbmap, read_alloc_stats_t &stats) { // first set space used by superblock - auto super_length = std::max(min_alloc_size, SUPER_RESERVED); + auto super_length = std::max(min_alloc_size, DB_SUPER_RESERVED); set_allocation_in_simple_bmap(sbmap, 0, super_length); stats.extent_count++; diff --git a/src/os/bluestore/bluestore_common.h b/src/os/bluestore/bluestore_common.h index f61a5dcfdc302..1c71c187abcc0 100644 --- a/src/os/bluestore/bluestore_common.h +++ b/src/os/bluestore/bluestore_common.h @@ -62,4 +62,14 @@ struct Int64ArrayMergeOperator : public KeyValueDB::MergeOperator { } }; +// write a label in the first block. always use this size. note that +// bluefs makes a matching assumption about the location of its +// superblock (always the second block of the device). +#define BDEV_LABEL_BLOCK_SIZE 4096 + +// reserved for standalone DB volume: +// label (4k) + bluefs super (4k), which means we start at 8k. +#define DB_SUPER_RESERVED (BDEV_LABEL_BLOCK_SIZE + 4096) + + #endif diff --git a/src/test/objectstore/test_bluefs.cc b/src/test/objectstore/test_bluefs.cc index 1564f4324e5b0..d1acf918b415d 100644 --- a/src/test/objectstore/test_bluefs.cc +++ b/src/test/objectstore/test_bluefs.cc @@ -18,6 +18,7 @@ #include "common/errno.h" #include "os/bluestore/Allocator.h" +#include "os/bluestore/bluestore_common.h" #include "os/bluestore/BlueFS.h" using namespace std; @@ -93,7 +94,7 @@ TEST(BlueFS, mkfs) { TempBdev bdev{size}; uuid_d fsid; BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); } @@ -101,13 +102,13 @@ TEST(BlueFS, mkfs_mount) { 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, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); 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 })); - ASSERT_EQ(fs.get_total(BlueFS::BDEV_DB), size - 1048576); - ASSERT_LT(fs.get_free(BlueFS::BDEV_DB), size - 1048576); + ASSERT_EQ(fs.get_total(BlueFS::BDEV_DB), size - DB_SUPER_RESERVED); + ASSERT_LT(fs.get_free(BlueFS::BDEV_DB), size - DB_SUPER_RESERVED); fs.umount(); } @@ -115,7 +116,7 @@ TEST(BlueFS, write_read) { 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, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -145,7 +146,7 @@ TEST(BlueFS, small_appends) { 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, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -182,7 +183,7 @@ TEST(BlueFS, very_large_write) { g_ceph_context->_conf.set_val("bluefs_buffered_io", "false"); uint64_t total_written = 0; - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -257,7 +258,7 @@ TEST(BlueFS, very_large_write2) { g_ceph_context->_conf.set_val("bluefs_buffered_io", "false"); uint64_t total_written = 0; - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -420,7 +421,7 @@ TEST(BlueFS, test_flush_1) { g_ceph_context->_conf.apply_changes(nullptr); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -454,7 +455,7 @@ TEST(BlueFS, test_flush_2) { g_ceph_context->_conf.apply_changes(nullptr); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -481,7 +482,7 @@ TEST(BlueFS, test_flush_3) { g_ceph_context->_conf.apply_changes(nullptr); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -514,7 +515,7 @@ TEST(BlueFS, test_simple_compaction_sync) { TempBdev bdev{size}; BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -566,7 +567,7 @@ TEST(BlueFS, test_simple_compaction_async) { TempBdev bdev{size}; BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -624,7 +625,7 @@ TEST(BlueFS, test_compaction_sync) { const char* canary_data = "some random data"; BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -688,7 +689,7 @@ TEST(BlueFS, test_compaction_async) { const char* canary_data = "some random data"; BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -749,7 +750,7 @@ TEST(BlueFS, test_replay) { "false"); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -794,7 +795,7 @@ TEST(BlueFS, test_replay_growth) { conf.ApplyChanges(); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -830,9 +831,9 @@ TEST(BlueFS, test_tracker_50965) { conf.ApplyChanges(); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_WAL, bdev_wal.path, false, 0)); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_db.path, false, 0)); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_SLOW, bdev_slow.path, false, 0)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_WAL, bdev_wal.path, false)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_db.path, false)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_SLOW, bdev_slow.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, true, true })); ASSERT_EQ(0, fs.mount()); @@ -897,9 +898,9 @@ TEST(BlueFS, test_truncate_stable_53129) { TempBdev bdev_slow{size_slow}; BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_WAL, bdev_wal.path, false, 0)); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_db.path, false, 0)); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_SLOW, bdev_slow.path, false, 0)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_WAL, bdev_wal.path, false)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_db.path, false)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_SLOW, bdev_slow.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, true, true })); ASSERT_EQ(0, fs.mount()); @@ -982,7 +983,7 @@ TEST(BlueFS, test_update_ino1_delta_after_replay) { conf.ApplyChanges(); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -1018,7 +1019,7 @@ TEST(BlueFS, broken_unlink_fsync_seq) { 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, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -1056,7 +1057,6 @@ TEST(BlueFS, broken_unlink_fsync_seq) { TEST(BlueFS, truncate_fsync) { uint64_t bdev_size = 128 * 1048576; uint64_t block_size = 4096; - uint64_t reserved = 1048576; TempBdev bdev{bdev_size}; uuid_d fsid; const char* DIR_NAME="dir"; @@ -1069,7 +1069,7 @@ TEST(BlueFS, truncate_fsync) { const std::string content(content_size, 'x'); { BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, reserved)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); 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 })); @@ -1100,7 +1100,7 @@ TEST(BlueFS, truncate_fsync) { { //this was broken due to https://tracker.ceph.com/issues/55307 BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, reserved)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); ASSERT_EQ(0, fs.mount()); BlueFS::FileReader *h; ASSERT_EQ(0, fs.open_for_read(DIR_NAME, FILE_NAME, &h)); @@ -1131,8 +1131,8 @@ TEST(BlueFS, test_shared_alloc) { BlueFS fs(g_ceph_context); // DB device is fully utilized - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_db.path, false, size_db - 0x1000)); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_SLOW, bdev_slow.path, false, 0, + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_db.path, false)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_SLOW, bdev_slow.path, false, &shared_alloc)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); @@ -1208,7 +1208,7 @@ TEST(BlueFS, test_shared_alloc_sparse) { } BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_slow.path, false, 0, + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_slow.path, false, &shared_alloc)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); @@ -1278,7 +1278,7 @@ TEST(BlueFS, test_4k_shared_alloc) { shared_alloc.a->init_add_free(bluefs_alloc_unit, size - bluefs_alloc_unit); BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_slow.path, false, 0, + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev_slow.path, false, &shared_alloc)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); @@ -1370,7 +1370,7 @@ TEST(BlueFS, test_concurrent_dir_link_and_compact_log_56210) { for (int i=0; i<10; ++i) { BlueFS fs(g_ceph_context); - ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -1483,7 +1483,7 @@ TEST(BlueFS, test_69481_truncate_corrupts_log) { 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, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -1527,7 +1527,7 @@ TEST(BlueFS, test_69481_truncate_asserts) { 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, 1048576)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); @@ -1577,7 +1577,7 @@ TEST(BlueFS, test_log_runway_advance_seq) { 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)); + ASSERT_EQ(0, fs.add_block_device(BlueFS::BDEV_DB, bdev.path, false)); uuid_d fsid; ASSERT_EQ(0, fs.mkfs(fsid, { BlueFS::BDEV_DB, false, false })); ASSERT_EQ(0, fs.mount()); -- 2.39.5