From 720b2b106072e61c83c7737d4cf9660dd337c7a7 Mon Sep 17 00:00:00 2001 From: chunmei Date: Thu, 14 Sep 2023 06:21:05 +0000 Subject: [PATCH] crimson/vstart: add --seastore-device-size option in vstart.sh command line default seastore_device_size will be out of space for smp >28 Signed-off-by: chunmei (cherry picked from commit cf69c4f4946884266d6a42c92eef20e74771c3fa) --- src/crimson/os/seastore/async_cleaner.cc | 2 +- src/vstart.sh | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index 84677747b77..da81a049aa7 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -986,7 +986,7 @@ segment_id_t SegmentCleaner::allocate_segment( ERROR("out of space with {} {} {} {}", type, segment_seq_printer_t{seq}, category, rewrite_gen_printer_t{generation}); - ceph_abort(); + ceph_abort("seastore device size setting is too small"); return NULL_SEG_ID; } diff --git a/src/vstart.sh b/src/vstart.sh index 02d84cc7fcc..92da54e8785 100755 --- a/src/vstart.sh +++ b/src/vstart.sh @@ -253,6 +253,7 @@ options: --no-parallel: dont start all OSDs in parallel --no-restart: dont restart process when using ceph-run --jaeger: use jaegertracing for tracing + --seastore-device-size: set total size of seastore --seastore-devs: comma-separated list of blockdevs to use for seastore --seastore-secondary-devs: comma-separated list of secondary blockdevs to use for seastore --seastore-secondary-devs-type: device type of all secondary blockdevs. HDD, SSD(default), ZNS or RANDOM_BLOCK_SSD @@ -501,6 +502,10 @@ case $1 in --with-restful) with_mgr_restful=true ;; + --seastore-device-size) + seastore_size="$2" + shift + ;; --seastore-devs) parse_block_devs --seastore-devs "$2" shift @@ -784,6 +789,14 @@ EOF bdev ioring = true" fi fi + + if [ "$objectstore" == "seastore" ]; then + if [[ ${seastore_size+x} ]]; then + SEASTORE_OPTS=" + seastore device size = $seastore_size" + fi + fi + wconf <