From 62812059125f4730b5ef220fadcbad6104e71b89 Mon Sep 17 00:00:00 2001 From: Kroese Date: Tue, 14 Oct 2025 01:22:44 +0200 Subject: [PATCH] feat: Add "max" setting for DISK_SIZE (#1060) --- src/disk.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/disk.sh b/src/disk.sh index 032f39d..14df45b 100644 --- a/src/disk.sh +++ b/src/disk.sh @@ -98,10 +98,10 @@ createDisk() { local FS=$5 local DATA_SIZE DIR SPACE GB FA - DATA_SIZE=$(numfmt --from=iec "$DISK_SPACE") - rm -f "$DISK_FILE" + DATA_SIZE=$(numfmt --from=iec "$DISK_SPACE") + if [[ "$ALLOCATE" != [Nn]* ]]; then # Check free diskspace @@ -424,7 +424,7 @@ addDisk () { local DISK_FMT=$7 local DISK_IO=$8 local DISK_CACHE=$9 - local DISK_EXT DIR SPACE DATA_SIZE FS PREV_FMT PREV_EXT CUR_SIZE + local DISK_EXT DIR SPACE GB DATA_SIZE FS PREV_FMT PREV_EXT CUR_SIZE DISK_EXT=$(fmt2ext "$DISK_FMT") local DISK_FILE="$DISK_BASE.$DISK_EXT" @@ -432,6 +432,16 @@ addDisk () { DIR=$(dirname "$DISK_FILE") [ ! -d "$DIR" ] && return 0 + if [[ "${DISK_SPACE,,}" == "max" ]]; then + + local SPARE=2147483648 + SPACE=$(df --output=avail -B 1 "$DIR" | tail -n 1) + (( SPACE < SPARE )) && SPACE="$SPARE" || SPACE=$((SPACE-SPARE)) + GB=$(( SPACE/1073741824 )) + DISK_SPACE="${GB}G" + + fi + SPACE="${DISK_SPACE// /}" [ -z "$SPACE" ] && SPACE="16G" [ -z "${SPACE//[0-9. ]}" ] && SPACE="${SPACE}G"