From: Matan Breizman Date: Mon, 22 Sep 2025 11:29:48 +0000 (+0000) Subject: Revert "crimson/os/seastore/segment_manager: Check segments prior to mkfs" X-Git-Tag: v21.0.0~209^2~76^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=32bf97c706ae8640ea8714f9750be8ddebf360f4;p=ceph.git Revert "crimson/os/seastore/segment_manager: Check segments prior to mkfs" We should also consider verifying available empty segment num when mounting. Addressed is next commits. This reverts commit 3b9632696a5e0b4e02c8ac32ba8ab8b00ee7a005. Signed-off-by: Matan Breizman --- diff --git a/src/crimson/os/seastore/segment_manager/block.cc b/src/crimson/os/seastore/segment_manager/block.cc index e5dfabbb15c8..a372e069eb91 100644 --- a/src/crimson/os/seastore/segment_manager/block.cc +++ b/src/crimson/os/seastore/segment_manager/block.cc @@ -499,8 +499,6 @@ BlockSegmentManager::mkfs_ret BlockSegmentManager::mkfs( ).safe_then([this] { return shard_devices.invoke_on_all([](auto &local_device) { return local_device.shard_mkfs( - // TODO: It would make more sense to pass the error further - // to the caller but invoke_on_all expectes a seastar::future ).handle_error( crimson::ct_error::assert_all{ "Invalid error in BlockSegmentManager::mkfs" @@ -522,6 +520,7 @@ BlockSegmentManager::mkfs_ret BlockSegmentManager::primary_mkfs( seastar::stat_data stat; block_sm_superblock_t sb; std::unique_ptr tracker; + using crimson::common::get_conf; if (get_conf("seastore_block_create")) { auto size = get_conf("seastore_device_size"); @@ -534,19 +533,6 @@ BlockSegmentManager::mkfs_ret BlockSegmentManager::primary_mkfs( std::ignore = device.close(); }); sb = make_superblock(get_device_id(), sm_config, stat); - rewrite_gen_t hot_tier_generations = crimson::common::get_conf( - "seastore_hot_tier_generations"); - rewrite_gen_t cold_tier_generations = crimson::common::get_conf( - "seastore_cold_tier_generations"); - if (std::cmp_less(sb.shard_infos[0].segments, - (hot_tier_generations + cold_tier_generations + 1))) { - // TODO: cold device might not be used, for now assume it would be - ERROR("Not enough available segments to open! " - "Consider increasing the device size (needed {} got {})", - (hot_tier_generations + cold_tier_generations + 1), - sb.shard_infos[0].segments); - co_await mkfs_ertr::future<>(crimson::ct_error::enoent::make()); - } stats.metadata_write.increment(ceph::encoded_sizeof(sb)); co_await write_superblock(get_device_id(), device, sb); INFO("{} complete", device_id_printer_t{get_device_id()});