]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/vstart: add --seastore-device-size option in vstart.sh command line 53969/head
authorchunmei <chunmei.liu@intel.com>
Thu, 14 Sep 2023 06:21:05 +0000 (06:21 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Wed, 11 Oct 2023 11:56:13 +0000 (11:56 +0000)
default seastore_device_size will be out of space for smp >28

Signed-off-by: chunmei <chunmei.liu@intel.com>
(cherry picked from commit cf69c4f4946884266d6a42c92eef20e74771c3fa)

src/crimson/os/seastore/async_cleaner.cc
src/vstart.sh

index 84677747b77cd15d39f9ba6b98abbd48a38b4e60..da81a049aa7753a40425e1f0ac25c0dc59244862 100644 (file)
@@ -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;
 }
 
index 02d84cc7fcc3c110fd6048d1ebf7272ed47ea095..92da54e8785f6d209b50cfc506ee371226333055 100755 (executable)
@@ -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 <<EOF
 [client]
 $CCLIENTDEBUG
@@ -835,6 +848,7 @@ $BLUESTORE_OPTS
         ; kstore
         kstore fsck on mount = true
         osd objectstore = $objectstore
+$SEASTORE_OPTS
 $COSDSHORT
         $(format_conf "${extra_conf}")
 [mon]