From 33b43af750fa2c62bf153b87124ee947460dac64 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Fri, 28 Feb 2025 11:35:01 +0300 Subject: [PATCH] os/bluestore: do not substract 'reserved' from bluefs bdev sizes Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueFS.cc | 10 ++++------ src/test/objectstore/test_bluefs.cc | 4 ++-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index ad1327ebb8d85..131983860dafc 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -614,8 +614,7 @@ uint64_t BlueFS::get_used(unsigned id) uint64_t BlueFS::_get_total(unsigned id) const { ceph_assert(id < bdev.size()); - ceph_assert(id < block_reserved.size()); - return get_block_device_size(id) - block_reserved[id]; + return get_block_device_size(id); } uint64_t BlueFS::get_total(unsigned id) @@ -642,7 +641,7 @@ void BlueFS::dump_block_extents(ostream& out) if (!bdev[i] || !alloc[i]) { continue; } - auto total = get_total(i) + block_reserved[i]; + auto total = get_total(i); auto free = get_free(i); out << i << " : device size 0x" << std::hex << total @@ -841,9 +840,8 @@ void BlueFS::_init_alloc() bdev[id]->get_size(), super.bluefs_max_alloc_size[id], name); - alloc[id]->init_add_free( - block_reserved[id], - _get_total(id)); + auto reserved = block_reserved[id]; + alloc[id]->init_add_free(reserved, _get_total(id) - reserved); } } } diff --git a/src/test/objectstore/test_bluefs.cc b/src/test/objectstore/test_bluefs.cc index ebf47158e0c59..f77774cde7874 100644 --- a/src/test/objectstore/test_bluefs.cc +++ b/src/test/objectstore/test_bluefs.cc @@ -112,8 +112,8 @@ TEST(BlueFS, mkfs_mount) { 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 - SUPER_RESERVED); - ASSERT_LT(fs.get_free(BlueFS::BDEV_DB), size - SUPER_RESERVED); + ASSERT_EQ(fs.get_total(BlueFS::BDEV_DB), size); + ASSERT_LT(fs.get_free(BlueFS::BDEV_DB), size); fs.umount(); } -- 2.39.5