]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "crimson/os/seastore/segment_manager: Check segments prior to mkfs"
authorMatan Breizman <mbreizma@redhat.com>
Mon, 22 Sep 2025 11:29:48 +0000 (11:29 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Mon, 29 Sep 2025 11:03:42 +0000 (11:03 +0000)
We should also consider verifying available empty segment num when
mounting. Addressed is next commits.

This reverts commit 3b9632696a5e0b4e02c8ac32ba8ab8b00ee7a005.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/os/seastore/segment_manager/block.cc

index e5dfabbb15c8b05759c00234413244b27cab1cf6..a372e069eb914bccedeb3bdf5a5bb368dd6d2afd 100644 (file)
@@ -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<SegmentStateTracker> tracker;
+
   using crimson::common::get_conf;
   if (get_conf<bool>("seastore_block_create")) {
     auto size = get_conf<Option::size_t>("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<uint64_t>(
-    "seastore_hot_tier_generations");
-  rewrite_gen_t cold_tier_generations = crimson::common::get_conf<uint64_t>(
-    "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<block_sm_superblock_t>(sb));
   co_await write_superblock(get_device_id(), device, sb);
   INFO("{} complete", device_id_printer_t{get_device_id()});