diff options
author | Simon Rettberg | 2022-07-26 10:25:48 +0200 |
---|---|---|
committer | Simon Rettberg | 2022-07-26 10:25:48 +0200 |
commit | 6c57e7b8cc19537e12e24d4c9405cf305effd64d (patch) | |
tree | b275fbcb74e102243bad3d6cf79a691bcd85ae0a /core/modules/disk-partitions | |
parent | [run-virt] Allocate more memory to VM, take disk swap into account (diff) | |
download | mltk-6c57e7b8cc19537e12e24d4c9405cf305effd64d.tar.gz mltk-6c57e7b8cc19537e12e24d4c9405cf305effd64d.tar.xz mltk-6c57e7b8cc19537e12e24d4c9405cf305effd64d.zip |
[disk-partitions] Enable discard=pages for thinpool swap
Diffstat (limited to 'core/modules/disk-partitions')
-rwxr-xr-x | core/modules/disk-partitions/data/opt/openslx/scripts/systemd-setup_partitions | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/core/modules/disk-partitions/data/opt/openslx/scripts/systemd-setup_partitions b/core/modules/disk-partitions/data/opt/openslx/scripts/systemd-setup_partitions index 8f97a117..0325e519 100755 --- a/core/modules/disk-partitions/data/opt/openslx/scripts/systemd-setup_partitions +++ b/core/modules/disk-partitions/data/opt/openslx/scripts/systemd-setup_partitions @@ -29,6 +29,7 @@ mkdir -p "/run/openslx" . /opt/openslx/bin/slx-tools dev_find_partitions &> /dev/null # Preload function +logfile= HAVE_TEMP= HAVE_SWAP= @@ -228,15 +229,17 @@ if [ -n "$DO_SWAP" ]; then thin_size=$(( ( pool_size - 30000 ) / 5 )) (( thin_size > 16000 )) && thin_size=16000 # max 16GB thin_size="$(( thin_size * 1000 * 2 ))" # to 512byte sectors - if ! dmsetup message /dev/mapper/pool 0 "create_thin 82"; then - slxlog --echo "partition-swap-thin" "Cannot create_thin for additional swap" - elif ! dmsetup create "thin-swap" <<<"0 $thin_size thin /dev/mapper/pool 82"; then - slxlog --echo "partition-swap-thin" "Cannot create thin device for additional swap" - elif ! mkswap /dev/mapper/thin-swap; then - slxlog --echo "partition-swap-thin" "Cannot mkswap on thin-swap" - elif ! swapon -p 9 /dev/mapper/thin-swap; then - slxlog --echo "partition-swap-thin" "Cannot swapon thin-swap" + gettmp "logfile" + if ! dmsetup message "/dev/mapper/pool" 0 "create_thin 82" &> "$logfile"; then + slxlog --echo "partition-swap-thin" "Cannot create_thin for additional swap" "$logfile" + elif ! dmsetup create "thin-swap" <<<"0 $thin_size thin /dev/mapper/pool 82" &> "$logfile"; then + slxlog --echo "partition-swap-thin" "Cannot create thin device for additional swap" "$logfile" + elif ! mkswap "/dev/mapper/thin-swap" &> "$logfile"; then + slxlog --echo "partition-swap-thin" "Cannot mkswap on thin-swap" "$logfile" + elif ! swapon -dpages -p 9 "/dev/mapper/thin-swap" &> "$logfile"; then + slxlog --echo "partition-swap-thin" "Cannot swapon thin-swap" "$logfile" else + echo "Added swap in thinpool" HAVE_SWAP=yes # finally, success fi fi |