From 92ab4a1e9506b2dc1b50b44d43b31ed1f4053099 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 10 Jan 2024 14:49:35 +0100 Subject: [dnbd3-rootfs] Try optimized ext4 mount options if none are given --- modules.d/dnbd3-rootfs/hooks/mount-root-device.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh b/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh index 6f31bbac..73d947d0 100755 --- a/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh +++ b/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh @@ -1,9 +1,26 @@ type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh source "/etc/openslx" -mount "$SLX_DNBD3_DEVICE_COW" "$NEWROOT" $SLX_MOUNT_ROOT_OPTIONS +ret=99 +if [ -n "$SLX_MOUNT_ROOT_OPTIONS" ]; then + # Always prefer mount options mandated by server + mount "$SLX_DNBD3_DEVICE_COW" "$NEWROOT" $SLX_MOUNT_ROOT_OPTIONS + ret=$? +else + # Let's guess it's ext4, tune for maximum performance as we don't care about recoverability + mount "$SLX_DNBD3_DEVICE_COW" "$NEWROOT" -o data=writeback,barrier=0,commit=60,noinit_itable,discard,noatime + ret=$? + if (( ret != 0 )); then + # Just try with no options and hope for the best... + mount "$SLX_DNBD3_DEVICE_COW" "$NEWROOT" + ret=$? + fi +fi + if [ -n "$SLX_GENERATE_FSTAB_SCRIPT" ]; then eval "$SLX_GENERATE_FSTAB_SCRIPT" else echo "" > "$NEWROOT/etc/fstab" fi + +return $ret -- cgit v1.2.3-55-g7522