]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/vstart: add --seastore-device-size option in vstart.sh command line 53432/head
authorchunmei <chunmei.liu@intel.com>
Thu, 14 Sep 2023 06:21:05 +0000 (06:21 +0000)
committerchunmei <chunmei.liu@intel.com>
Thu, 14 Sep 2023 07:09:56 +0000 (07:09 +0000)
default seastore_device_size will be out of space for smp >28

Signed-off-by: chunmei <chunmei.liu@intel.com>
src/crimson/os/seastore/async_cleaner.cc
src/vstart.sh

index 776f42b415d97ebe8609d2474f8700592d1c95fb..d7e398f5f732ad03b0e684fbaeb1e38af7423d6a 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 8bca100547c08582c4cdfaab60cd1571fb887a67..5b8e97e5308ef0a8b26af87a4a78cd55f7b0c7e6 100755 (executable)
@@ -257,6 +257,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
@@ -535,6 +536,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
@@ -832,6 +837,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
@@ -883,6 +896,7 @@ $BLUESTORE_OPTS
         ; kstore
         kstore fsck on mount = true
         osd objectstore = $objectstore
+$SEASTORE_OPTS
 $COSDSHORT
         $(format_conf "${extra_conf}")
 [mon]