Loading src/disk.sh +50 −24 Original line number Diff line number Diff line Loading @@ -87,6 +87,16 @@ isCow() { return 1 } supportsDirect() { local FS=$1 if [[ "${FS,,}" == "ecryptfs" ]] || [[ "${FS,,}" == "tmpfs" ]]; then return 1 fi return 0 } createDisk() { local DISK_FILE=$1 local DISK_SPACE=$2 Loading Loading @@ -329,6 +339,10 @@ checkFS () { info "Warning: the filesystem of $DIR is FUSE, this extra layer will negatively affect performance!" fi if ! supportsDirect "$FS"; then info "Warning: the filesystem of $DIR is $FS, which does not support O_DIRECT mode, adjusting settings..." fi if isCow "$FS"; then if [ -f "$DISK_FILE" ]; then FA=$(lsattr "$DISK_FILE") Loading @@ -348,23 +362,30 @@ createDevice () { local DISK_INDEX=$3 local DISK_ADDRESS=$4 local DISK_FMT=$5 local DISK_IO=$6 local DISK_CACHE=$7 echo "-drive file=$DISK_FILE,if=none,id=drive-$DISK_ID,format=$DISK_FMT,cache=$DISK_CACHE,aio=$DISK_IO,discard=$DISK_DISCARD,detect-zeroes=on \ local result="-drive file=$DISK_FILE,if=none,id=drive-$DISK_ID,format=$DISK_FMT,cache=$DISK_CACHE,aio=$DISK_IO,discard=$DISK_DISCARD,detect-zeroes=on" result="$result \ -device virtio-scsi-pci,id=hw-$DISK_ID,iothread=io2,bus=pcie.0,addr=$DISK_ADDRESS \ -device scsi-hd,bus=hw-$DISK_ID.0,channel=0,scsi-id=0,lun=0,drive=drive-$DISK_ID,id=$DISK_ID,rotation_rate=$DISK_ROTATION,bootindex=$DISK_INDEX" echo "$result" return 0 } addDisk () { local DISK_ID=$1 local DISK_BASE=$2 local DISK_EXT=$3 local DISK_DESC=$4 local DISK_SPACE=$5 local DISK_INDEX=$6 local DISK_ADDRESS=$7 local DISK_FMT=$8 local DISK_BASE=$1 local DISK_EXT=$2 local DISK_DESC=$3 local DISK_SPACE=$4 local DISK_INDEX=$5 local DISK_ADDRESS=$6 local DISK_FMT=$7 local DISK_IO=$8 local DISK_CACHE=$9 local DISK_ID="userdata$DISK_INDEX" local DISK_FILE="$DISK_BASE.$DISK_EXT" local DIR DATA_SIZE FS PREV_FMT PREV_EXT CUR_SIZE OPTS Loading @@ -386,6 +407,11 @@ addDisk () { FS=$(stat -f -c %T "$DIR") checkFS "$FS" "$DISK_FILE" "$DISK_DESC" || exit $? if ! supportsDirect "$FS"; then DISK_IO="threads" DISK_CACHE="writeback" fi if ! [ -s "$DISK_FILE" ] ; then if [[ "${DISK_FMT,,}" != "raw" ]]; then Loading Loading @@ -414,7 +440,7 @@ addDisk () { fi OPTS=$(createDevice "$DISK_ID" "$DISK_FILE" "$DISK_INDEX" "$DISK_ADDRESS" "$DISK_FMT") OPTS=$(createDevice "$DISK_ID" "$DISK_FILE" "$DISK_INDEX" "$DISK_ADDRESS" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE") DISK_OPTS="$DISK_OPTS $OPTS" return 0 Loading @@ -422,17 +448,17 @@ addDisk () { addDevice () { local DISK_ID=$1 local DISK_DEV=$2 local DISK_DESC=$3 local DISK_INDEX=$4 local DISK_ADDRESS=$5 local DISK_DEV=$1 local DISK_DESC=$2 local DISK_INDEX=$3 local DISK_ADDRESS=$4 local DISK_ID="userdata$DISK_INDEX" [ -z "$DISK_DEV" ] && return 0 [ ! -b "$DISK_DEV" ] && error "Device $DISK_DEV cannot be found! Please add it to the 'devices' section of your compose file." && exit 55 local OPTS OPTS=$(createDevice "$DISK_ID" "$DISK_DEV" "$DISK_INDEX" "$DISK_ADDRESS" "raw") OPTS=$(createDevice "$DISK_ID" "$DISK_DEV" "$DISK_INDEX" "$DISK_ADDRESS" "raw" "$DISK_IO" "$DISK_CACHE") DISK_OPTS="$DISK_OPTS $OPTS" return 0 Loading Loading @@ -502,27 +528,27 @@ DISK4_FILE="/storage4/data4" : "${DEVICE4:=""}" if [ -n "$DEVICE" ]; then addDevice "userdata" "$DEVICE" "device" "3" "0xc" || exit $? addDevice "$DEVICE" "device" "3" "0xc" || exit $? else addDisk "userdata" "$DISK1_FILE" "$DISK_EXT" "disk" "$DISK_SIZE" "3" "0xc" "$DISK_FMT" || exit $? addDisk "$DISK1_FILE" "$DISK_EXT" "disk" "$DISK_SIZE" "3" "0xc" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi if [ -n "$DEVICE2" ]; then addDevice "userdata2" "$DEVICE2" "device2" "4" "0xd" || exit $? addDevice "$DEVICE2" "device2" "4" "0xd" || exit $? else addDisk "userdata2" "$DISK2_FILE" "$DISK_EXT" "disk2" "$DISK2_SIZE" "4" "0xd" "$DISK_FMT" || exit $? addDisk "$DISK2_FILE" "$DISK_EXT" "disk2" "$DISK2_SIZE" "4" "0xd" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi if [ -n "$DEVICE3" ]; then addDevice "userdata3" "$DEVICE3" "device3" "5" "0xe" || exit $? addDevice "$DEVICE3" "device3" "5" "0xe" || exit $? else addDisk "userdata3" "$DISK3_FILE" "$DISK_EXT" "disk3" "$DISK3_SIZE" "5" "0xe" "$DISK_FMT" || exit $? addDisk "$DISK3_FILE" "$DISK_EXT" "disk3" "$DISK3_SIZE" "5" "0xe" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi if [ -n "$DEVICE4" ]; then addDevice "userdata4" "$DEVICE4" "device4" "6" "0xf" || exit $? addDevice "$DEVICE4" "device4" "6" "0xf" || exit $? else addDisk "userdata4" "$DISK4_FILE" "$DISK_EXT" "disk4" "$DISK4_SIZE" "6" "0xf" "$DISK_FMT" || exit $? addDisk "$DISK4_FILE" "$DISK_EXT" "disk4" "$DISK4_SIZE" "6" "0xf" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi html "Initialized disks successfully..." Loading src/install.sh +4 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,10 @@ if [[ "${FS,,}" == "fuse"* ]]; then info "Warning: the filesystem of $STORAGE is FUSE, this extra layer will negatively affect performance!" fi if [[ "${FS,,}" == "ecryptfs" ]] || [[ "${FS,,}" == "tmpfs" ]]; then info "Warning: the filesystem of $STORAGE is $FS, which does not support O_DIRECT mode, adjusting settings..." fi if [[ "${FS,,}" == "fat"* || "${FS,,}" == "vfat"* || "${FS,,}" == "msdos"* ]]; then error "Unable to install on $FS filesystems, please use a different filesystem for /storage." && exit 61 fi Loading src/reset.sh +8 −1 Original line number Diff line number Diff line Loading @@ -58,8 +58,15 @@ if [ ! -d "$STORAGE" ]; then error "Storage folder ($STORAGE) not found!" && exit 13 fi # Print system info # Check filesystem FS=$(stat -f -c %T "$STORAGE") if [[ "${FS,,}" == "ecryptfs" ]] || [[ "${FS,,}" == "tmpfs" ]]; then DISK_IO="threads" DISK_CACHE="writeback" fi # Print system info FS="${FS/ext2\/ext3/ext4}"; SPACE=$(df --output=avail -B 1 "$STORAGE" | tail -n 1) SPACE_GB=$(( (SPACE + 1073741823)/1073741824 )) Loading Loading
src/disk.sh +50 −24 Original line number Diff line number Diff line Loading @@ -87,6 +87,16 @@ isCow() { return 1 } supportsDirect() { local FS=$1 if [[ "${FS,,}" == "ecryptfs" ]] || [[ "${FS,,}" == "tmpfs" ]]; then return 1 fi return 0 } createDisk() { local DISK_FILE=$1 local DISK_SPACE=$2 Loading Loading @@ -329,6 +339,10 @@ checkFS () { info "Warning: the filesystem of $DIR is FUSE, this extra layer will negatively affect performance!" fi if ! supportsDirect "$FS"; then info "Warning: the filesystem of $DIR is $FS, which does not support O_DIRECT mode, adjusting settings..." fi if isCow "$FS"; then if [ -f "$DISK_FILE" ]; then FA=$(lsattr "$DISK_FILE") Loading @@ -348,23 +362,30 @@ createDevice () { local DISK_INDEX=$3 local DISK_ADDRESS=$4 local DISK_FMT=$5 local DISK_IO=$6 local DISK_CACHE=$7 echo "-drive file=$DISK_FILE,if=none,id=drive-$DISK_ID,format=$DISK_FMT,cache=$DISK_CACHE,aio=$DISK_IO,discard=$DISK_DISCARD,detect-zeroes=on \ local result="-drive file=$DISK_FILE,if=none,id=drive-$DISK_ID,format=$DISK_FMT,cache=$DISK_CACHE,aio=$DISK_IO,discard=$DISK_DISCARD,detect-zeroes=on" result="$result \ -device virtio-scsi-pci,id=hw-$DISK_ID,iothread=io2,bus=pcie.0,addr=$DISK_ADDRESS \ -device scsi-hd,bus=hw-$DISK_ID.0,channel=0,scsi-id=0,lun=0,drive=drive-$DISK_ID,id=$DISK_ID,rotation_rate=$DISK_ROTATION,bootindex=$DISK_INDEX" echo "$result" return 0 } addDisk () { local DISK_ID=$1 local DISK_BASE=$2 local DISK_EXT=$3 local DISK_DESC=$4 local DISK_SPACE=$5 local DISK_INDEX=$6 local DISK_ADDRESS=$7 local DISK_FMT=$8 local DISK_BASE=$1 local DISK_EXT=$2 local DISK_DESC=$3 local DISK_SPACE=$4 local DISK_INDEX=$5 local DISK_ADDRESS=$6 local DISK_FMT=$7 local DISK_IO=$8 local DISK_CACHE=$9 local DISK_ID="userdata$DISK_INDEX" local DISK_FILE="$DISK_BASE.$DISK_EXT" local DIR DATA_SIZE FS PREV_FMT PREV_EXT CUR_SIZE OPTS Loading @@ -386,6 +407,11 @@ addDisk () { FS=$(stat -f -c %T "$DIR") checkFS "$FS" "$DISK_FILE" "$DISK_DESC" || exit $? if ! supportsDirect "$FS"; then DISK_IO="threads" DISK_CACHE="writeback" fi if ! [ -s "$DISK_FILE" ] ; then if [[ "${DISK_FMT,,}" != "raw" ]]; then Loading Loading @@ -414,7 +440,7 @@ addDisk () { fi OPTS=$(createDevice "$DISK_ID" "$DISK_FILE" "$DISK_INDEX" "$DISK_ADDRESS" "$DISK_FMT") OPTS=$(createDevice "$DISK_ID" "$DISK_FILE" "$DISK_INDEX" "$DISK_ADDRESS" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE") DISK_OPTS="$DISK_OPTS $OPTS" return 0 Loading @@ -422,17 +448,17 @@ addDisk () { addDevice () { local DISK_ID=$1 local DISK_DEV=$2 local DISK_DESC=$3 local DISK_INDEX=$4 local DISK_ADDRESS=$5 local DISK_DEV=$1 local DISK_DESC=$2 local DISK_INDEX=$3 local DISK_ADDRESS=$4 local DISK_ID="userdata$DISK_INDEX" [ -z "$DISK_DEV" ] && return 0 [ ! -b "$DISK_DEV" ] && error "Device $DISK_DEV cannot be found! Please add it to the 'devices' section of your compose file." && exit 55 local OPTS OPTS=$(createDevice "$DISK_ID" "$DISK_DEV" "$DISK_INDEX" "$DISK_ADDRESS" "raw") OPTS=$(createDevice "$DISK_ID" "$DISK_DEV" "$DISK_INDEX" "$DISK_ADDRESS" "raw" "$DISK_IO" "$DISK_CACHE") DISK_OPTS="$DISK_OPTS $OPTS" return 0 Loading Loading @@ -502,27 +528,27 @@ DISK4_FILE="/storage4/data4" : "${DEVICE4:=""}" if [ -n "$DEVICE" ]; then addDevice "userdata" "$DEVICE" "device" "3" "0xc" || exit $? addDevice "$DEVICE" "device" "3" "0xc" || exit $? else addDisk "userdata" "$DISK1_FILE" "$DISK_EXT" "disk" "$DISK_SIZE" "3" "0xc" "$DISK_FMT" || exit $? addDisk "$DISK1_FILE" "$DISK_EXT" "disk" "$DISK_SIZE" "3" "0xc" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi if [ -n "$DEVICE2" ]; then addDevice "userdata2" "$DEVICE2" "device2" "4" "0xd" || exit $? addDevice "$DEVICE2" "device2" "4" "0xd" || exit $? else addDisk "userdata2" "$DISK2_FILE" "$DISK_EXT" "disk2" "$DISK2_SIZE" "4" "0xd" "$DISK_FMT" || exit $? addDisk "$DISK2_FILE" "$DISK_EXT" "disk2" "$DISK2_SIZE" "4" "0xd" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi if [ -n "$DEVICE3" ]; then addDevice "userdata3" "$DEVICE3" "device3" "5" "0xe" || exit $? addDevice "$DEVICE3" "device3" "5" "0xe" || exit $? else addDisk "userdata3" "$DISK3_FILE" "$DISK_EXT" "disk3" "$DISK3_SIZE" "5" "0xe" "$DISK_FMT" || exit $? addDisk "$DISK3_FILE" "$DISK_EXT" "disk3" "$DISK3_SIZE" "5" "0xe" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi if [ -n "$DEVICE4" ]; then addDevice "userdata4" "$DEVICE4" "device4" "6" "0xf" || exit $? addDevice "$DEVICE4" "device4" "6" "0xf" || exit $? else addDisk "userdata4" "$DISK4_FILE" "$DISK_EXT" "disk4" "$DISK4_SIZE" "6" "0xf" "$DISK_FMT" || exit $? addDisk "$DISK4_FILE" "$DISK_EXT" "disk4" "$DISK4_SIZE" "6" "0xf" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $? fi html "Initialized disks successfully..." Loading
src/install.sh +4 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,10 @@ if [[ "${FS,,}" == "fuse"* ]]; then info "Warning: the filesystem of $STORAGE is FUSE, this extra layer will negatively affect performance!" fi if [[ "${FS,,}" == "ecryptfs" ]] || [[ "${FS,,}" == "tmpfs" ]]; then info "Warning: the filesystem of $STORAGE is $FS, which does not support O_DIRECT mode, adjusting settings..." fi if [[ "${FS,,}" == "fat"* || "${FS,,}" == "vfat"* || "${FS,,}" == "msdos"* ]]; then error "Unable to install on $FS filesystems, please use a different filesystem for /storage." && exit 61 fi Loading
src/reset.sh +8 −1 Original line number Diff line number Diff line Loading @@ -58,8 +58,15 @@ if [ ! -d "$STORAGE" ]; then error "Storage folder ($STORAGE) not found!" && exit 13 fi # Print system info # Check filesystem FS=$(stat -f -c %T "$STORAGE") if [[ "${FS,,}" == "ecryptfs" ]] || [[ "${FS,,}" == "tmpfs" ]]; then DISK_IO="threads" DISK_CACHE="writeback" fi # Print system info FS="${FS/ext2\/ext3/ext4}"; SPACE=$(df --output=avail -B 1 "$STORAGE" | tail -n 1) SPACE_GB=$(( (SPACE + 1073741823)/1073741824 )) Loading