From 364fb38669fdada3cf78d74efeacdd311c53c20d Mon Sep 17 00:00:00 2001 From: myoungwon oh Date: Thu, 20 Jun 2024 05:32:15 +0000 Subject: [PATCH] crimson/os/seastore: replace rbm_metadata_header_t with rbm_superblock_t Signed-off-by: Myoungwon Oh --- .../os/seastore/random_block_manager.h | 10 ++++----- .../random_block_manager/block_rb_manager.cc | 4 ++-- .../random_block_manager/block_rb_manager.h | 2 +- .../random_block_manager/rbm_device.cc | 22 +++++++++---------- .../random_block_manager/rbm_device.h | 6 ++--- .../seastore/test_randomblock_manager.cc | 8 +++---- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/crimson/os/seastore/random_block_manager.h b/src/crimson/os/seastore/random_block_manager.h index fc45af3b2f5..449fdeb4ef1 100644 --- a/src/crimson/os/seastore/random_block_manager.h +++ b/src/crimson/os/seastore/random_block_manager.h @@ -39,7 +39,7 @@ struct rbm_shard_info_t { } }; -struct rbm_metadata_header_t { +struct rbm_superblock_t { size_t size = 0; size_t block_size = 0; uint64_t feature = 0; @@ -49,7 +49,7 @@ struct rbm_metadata_header_t { unsigned int shard_num = 0; std::vector shard_infos; - DENC(rbm_metadata_header_t, v, p) { + DENC(rbm_superblock_t, v, p) { DENC_START(1, 1, p); denc(v.size, p); denc(v.block_size, p); @@ -171,7 +171,7 @@ namespace random_block_device { seastar::future> get_rb_device(const std::string &device); -std::ostream &operator<<(std::ostream &out, const rbm_metadata_header_t &header); +std::ostream &operator<<(std::ostream &out, const rbm_superblock_t &header); std::ostream &operator<<(std::ostream &out, const rbm_shard_info_t &shard); } @@ -179,10 +179,10 @@ WRITE_CLASS_DENC_BOUNDED( crimson::os::seastore::rbm_shard_info_t ) WRITE_CLASS_DENC_BOUNDED( - crimson::os::seastore::rbm_metadata_header_t + crimson::os::seastore::rbm_superblock_t ) #if FMT_VERSION >= 90000 -template<> struct fmt::formatter : fmt::ostream_formatter {}; +template<> struct fmt::formatter : fmt::ostream_formatter {}; template<> struct fmt::formatter : fmt::ostream_formatter {}; #endif diff --git a/src/crimson/os/seastore/random_block_manager/block_rb_manager.cc b/src/crimson/os/seastore/random_block_manager/block_rb_manager.cc index 715aafbc8a8..7a94c20fc46 100644 --- a/src/crimson/os/seastore/random_block_manager/block_rb_manager.cc +++ b/src/crimson/os/seastore/random_block_manager/block_rb_manager.cc @@ -201,9 +201,9 @@ void BlockRBManager::prefill_fragmented_device() } #endif -std::ostream &operator<<(std::ostream &out, const rbm_metadata_header_t &header) +std::ostream &operator<<(std::ostream &out, const rbm_superblock_t &header) { - out << " rbm_metadata_header_t(size=" << header.size + out << " rbm_superblock_t(size=" << header.size << ", block_size=" << header.block_size << ", feature=" << header.feature << ", journal_size=" << header.journal_size diff --git a/src/crimson/os/seastore/random_block_manager/block_rb_manager.h b/src/crimson/os/seastore/random_block_manager/block_rb_manager.h index bc33710eee0..f61db617370 100644 --- a/src/crimson/os/seastore/random_block_manager/block_rb_manager.h +++ b/src/crimson/os/seastore/random_block_manager/block_rb_manager.h @@ -38,7 +38,7 @@ public: * Ondisk layout (TODO) * * --------------------------------------------------------------------------- - * | rbm_metadata_header_t | metadatas | ... | data blocks | + * | rbm_superblock_t | metadatas | ... | data blocks | * --------------------------------------------------------------------------- */ diff --git a/src/crimson/os/seastore/random_block_manager/rbm_device.cc b/src/crimson/os/seastore/random_block_manager/rbm_device.cc index cea6c30a7ec..c1fa6f2b2c7 100644 --- a/src/crimson/os/seastore/random_block_manager/rbm_device.cc +++ b/src/crimson/os/seastore/random_block_manager/rbm_device.cc @@ -59,19 +59,19 @@ RBMDevice::mkfs_ret RBMDevice::do_primary_mkfs(device_config_t config, crimson::ct_error::assert_all{ "Invalid error open in RBMDevice::do_primary_mkfs"} ).safe_then([this] { - return write_rbm_header( + return write_rbm_superblock( ).safe_then([this] { return close(); }).handle_error( mkfs_ertr::pass_further{}, crimson::ct_error::assert_all{ - "Invalid error write_rbm_header in RBMDevice::do_primary_mkfs" + "Invalid error write_rbm_superblock in RBMDevice::do_primary_mkfs" }); }); }); } -write_ertr::future<> RBMDevice::write_rbm_header() +write_ertr::future<> RBMDevice::write_rbm_superblock() { bufferlist meta_b_header; super.crc = 0; @@ -94,10 +94,10 @@ write_ertr::future<> RBMDevice::write_rbm_header() return write(RBM_START_ADDRESS, std::move(bp)); } -read_ertr::future RBMDevice::read_rbm_header( +read_ertr::future RBMDevice::read_rbm_superblock( rbm_abs_addr addr) { - LOG_PREFIX(RBMDevice::read_rbm_header); + LOG_PREFIX(RBMDevice::read_rbm_superblock); assert(super.block_size > 0); return seastar::do_with( bufferptr(ceph::buffer::create_page_aligned(super.block_size)), @@ -106,16 +106,16 @@ read_ertr::future RBMDevice::read_rbm_header( addr, bptr ).safe_then([length=bptr.length(), this, bptr, FNAME]() - -> read_ertr::future { + -> read_ertr::future { bufferlist bl; bl.append(bptr); auto p = bl.cbegin(); - rbm_metadata_header_t super_block; + rbm_superblock_t super_block; try { decode(super_block, p); } catch (ceph::buffer::error& e) { - DEBUG("read_rbm_header: unable to decode rbm super block {}", + DEBUG("read_rbm_superblock: unable to decode rbm super block {}", e.what()); return crimson::ct_error::enoent::make(); } @@ -123,7 +123,7 @@ read_ertr::future RBMDevice::read_rbm_header( bufferlist meta_b_header; super_block.crc = 0; encode(super_block, meta_b_header); - assert(ceph::encoded_sizeof(super_block) < + assert(ceph::encoded_sizeof(super_block) < super_block.block_size); // Do CRC verification only if data protection is not supported. @@ -139,7 +139,7 @@ read_ertr::future RBMDevice::read_rbm_header( super_block.crc = crc; super = super_block; DEBUG("got {} ", super); - return read_ertr::future( + return read_ertr::future( read_ertr::ready_future_marker{}, super_block ); @@ -160,7 +160,7 @@ RBMDevice::mount_ret RBMDevice::do_shard_mount() ).safe_then([this](auto st) { assert(st.block_size > 0); super.block_size = st.block_size; - return read_rbm_header(RBM_START_ADDRESS + return read_rbm_superblock(RBM_START_ADDRESS ).safe_then([this](auto s) { LOG_PREFIX(RBMDevice::do_shard_mount); shard_info = s.shard_infos[seastar::this_shard_id()]; diff --git a/src/crimson/os/seastore/random_block_manager/rbm_device.h b/src/crimson/os/seastore/random_block_manager/rbm_device.h index 501d9f913a1..28c20c6e72d 100644 --- a/src/crimson/os/seastore/random_block_manager/rbm_device.h +++ b/src/crimson/os/seastore/random_block_manager/rbm_device.h @@ -83,7 +83,7 @@ public: return read(rbm_addr, out); } protected: - rbm_metadata_header_t super; + rbm_superblock_t super; rbm_shard_info_t shard_info; public: RBMDevice() {} @@ -160,9 +160,9 @@ public: mount_ret do_shard_mount(); - write_ertr::future<> write_rbm_header(); + write_ertr::future<> write_rbm_superblock(); - read_ertr::future read_rbm_header(rbm_abs_addr addr); + read_ertr::future read_rbm_superblock(rbm_abs_addr addr); using stat_device_ret = read_ertr::future; diff --git a/src/test/crimson/seastore/test_randomblock_manager.cc b/src/test/crimson/seastore/test_randomblock_manager.cc index 5940717e69e..26205e16487 100644 --- a/src/test/crimson/seastore/test_randomblock_manager.cc +++ b/src/test/crimson/seastore/test_randomblock_manager.cc @@ -78,8 +78,8 @@ struct rbm_test_t : return device->mkfs(config).unsafe_get(); } - auto read_rbm_header() { - return device->read_rbm_header(RBM_START_ADDRESS).unsafe_get(); + auto read_rbm_superblock() { + return device->read_rbm_superblock(RBM_START_ADDRESS).unsafe_get(); } auto open() { @@ -120,14 +120,14 @@ struct rbm_test_t : TEST_F(rbm_test_t, mkfs_test) { run_async([this] { - auto super = read_rbm_header(); + auto super = read_rbm_superblock(); ASSERT_TRUE( super.block_size == block_size && super.size == size ); config.spec.id = DEVICE_ID_NULL; mkfs(); - super = read_rbm_header(); + super = read_rbm_superblock(); ASSERT_TRUE( super.config.spec.id == DEVICE_ID_NULL && super.size == size -- 2.39.5