From: Yingxin Cheng Date: Tue, 18 Jun 2024 03:40:10 +0000 (+0800) Subject: crimson/os/seastore: disable seastore_max_data_allocation_size by default X-Git-Tag: v20.0.0~619^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1642d487ecc8e405546378e41de6a196cabdadb8;p=ceph.git crimson/os/seastore: disable seastore_max_data_allocation_size by default 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 --- diff --git a/src/common/options/crimson.yaml.in b/src/common/options/crimson.yaml.in index 36b7f8bc1e33..69b3a6155768 100644 --- a/src/common/options/crimson.yaml.in +++ b/src/common/options/crimson.yaml.in @@ -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 diff --git a/src/crimson/os/seastore/extent_placement_manager.h b/src/crimson/os/seastore/extent_placement_manager.h index d400a9bbdc73..47fe71ae464f 100644 --- a/src/crimson/os/seastore/extent_placement_manager.h +++ b/src/crimson/os/seastore/extent_placement_manager.h @@ -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