]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: disable seastore_max_data_allocation_size by default
authorYingxin Cheng <yingxin.cheng@intel.com>
Tue, 18 Jun 2024 03:40:10 +0000 (11:40 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Thu, 28 Nov 2024 01:32:51 +0000 (09:32 +0800)
Supposing that fine-grained-cache should address the read amplification
issue. By-default disable seastore_max_data_allocation_size with
fine-grained-cache since seastore_full_integrity_check is by-default
disabled.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/common/options/crimson.yaml.in
src/crimson/os/seastore/extent_placement_manager.h

index 36b7f8bc1e335bf1034ef6cb60928c8c7283dccc..69b3a6155768857f25de5a89c86d036f47bee12d 100644 (file)
@@ -105,8 +105,8 @@ options:
 - name: seastore_max_data_allocation_size
   type: size
   level: advanced
-  desc: Max size in bytes that an extent can be
-  default: 32_K
+  desc: Max size in bytes that an extent can be, 0 to disable
+  default: 0
 - name: seastore_cache_lru_size
   type: size
   level: advanced
index d400a9bbdc7354b7f7a4f4e208500758c4181d2b..47fe71ae464f6404be9199a21e28cfd0c4f11fa8 100644 (file)
@@ -414,7 +414,10 @@ public:
       for (auto &ext : addrs) {
         auto left = ext.len;
         while (left > 0) {
-          auto len = std::min(max_data_allocation_size, left);
+          auto len = left;
+          if (max_data_allocation_size) {
+            len = std::min(max_data_allocation_size, len);
+          }
           auto bp = create_extent_ptr_zero(len);
           auto start = ext.start.is_delayed()
                         ? ext.start