From 1bd0ea11fd2596f62c2120d753e66dab0be504b8 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Mon, 23 Oct 2017 15:33:17 +0200 Subject: [run-virt] add support for SLX_VM_TMP_* fallback --- .../data/opt/openslx/scripts/systemd-run_virt_env | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'core/modules/run-virt/data/opt/openslx/scripts') diff --git a/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env index 07c4eea7..1bd0db58 100755 --- a/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env +++ b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env @@ -41,6 +41,35 @@ for DIR in /tmp/virt /var/log/samba /run/samba; do fi done +# check if a fallback share is set as SLX_VM_TMP_SOURCE +if [ -n "${SLX_VM_TMP_SOURCE}" ]; then + LOG=$(mktemp) + # use SLX_VM_TMP_TYPE and SLX_VM_TMP_OPTS, if set + for TRY in 1 2 3 STOP; do + [ "x$TRY" = "xSTOP" ] && break + if [ -n "${SLX_VM_TMP_TYPE}" ] && [ -n "${SLX_VM_TMP_OPTS}" ]; then + mount -t ${SLX_VM_TMP_TYPE} -o "${SLX_VM_TMP_OPTS}" "${SLX_VM_TMP_SOURCE}" /tmp/virt + elif [ -n "${SLX_VM_TMP_TYPE}" ]; then + mount -t ${SLX_VM_TMP_TYPE} "${SLX_VM_TMP_SOURCE}" /tmp/virt + elif [ -n "${SLX_VM_TMP_OPTS}" ]; then + mount -o "${SLX_VM_TMP_OPTS}" "${SLX_VM_TMP_SOURCE}" /tmp/virt + else + mount "${SLX_VM_TMP_SOURCE}" /tmp/virt + fi + RET=$? + [ "$RET" = "0" ] && break + sleep $TRY + done > "$LOG" 2>&1 + if [ "$RET" -ne "0" ]; then + if [ -s "$LOG" ]; then + slxlog --delete "mount-vm-tmp-fail" "Mounting of '${SLX_VM_TMP_SOURCE}' failed." "$LOG" + else + slxlog "mount-vm-tmp-fail" "Mounting of '${SLX_VM_TMP_SOURCE}' failed." + rm -f -- "$LOG" + fi + fi +fi + chmod a+rwxt /tmp/virt # enable normal users to setup the extended virtual machine redo file space -- cgit v1.2.3-55-g7522