diff options
author | Simon Rettberg | 2024-01-29 12:28:01 +0100 |
---|---|---|
committer | Simon Rettberg | 2024-01-29 12:28:01 +0100 |
commit | b41f05f8bfdd0cb232d70dd0f4f6820cbfa3af91 (patch) | |
tree | 5c086468b8b69f59f031117834ffa01bf354f4d6 /core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_tmpdir | |
parent | Rename hardware-stats service to gather-hw-info (diff) | |
download | mltk-b41f05f8bfdd0cb232d70dd0f4f6820cbfa3af91.tar.gz mltk-b41f05f8bfdd0cb232d70dd0f4f6820cbfa3af91.tar.xz mltk-b41f05f8bfdd0cb232d70dd0f4f6820cbfa3af91.zip |
[run-virt] Split mounting of /tmp/virt into own service
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_tmpdir')
-rwxr-xr-x | core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_tmpdir | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_tmpdir b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_tmpdir new file mode 100755 index 00000000..e5fb324a --- /dev/null +++ b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_tmpdir @@ -0,0 +1,38 @@ +#!/bin/ash + +mkdir -p "/tmp/virt" + +. /opt/openslx/config + +# check if a fallback share is set as SLX_VM_TMP_SOURCE +RET=0 +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 + [ "$TRY" = "STOP" ] && 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 --sync --delete "mount-vm-tmp-fail" "Mounting of '${SLX_VM_TMP_SOURCE}' failed." "$LOG" + else + slxlog --sync "mount-vm-tmp-fail" "Mounting of '${SLX_VM_TMP_SOURCE}' failed." + rm -f -- "$LOG" + fi + fi +fi + +chmod a+rwxt /tmp/virt +exit "$RET" |