summaryrefslogtreecommitdiffstats
path: root/remote/modules/vmchooser
diff options
context:
space:
mode:
authorSimon Rettberg2014-04-25 18:38:35 +0200
committerSimon Rettberg2014-04-25 18:38:35 +0200
commit37ce91c2c2c3b71b40fe7b76e03ee2d71fa8a944 (patch)
tree43917eea7d598161a1142c3d741cfaef97134579 /remote/modules/vmchooser
parentImprove ld cache handling a bit (diff)
downloadtm-scripts-37ce91c2c2c3b71b40fe7b76e03ee2d71fa8a944.tar.gz
tm-scripts-37ce91c2c2c3b71b40fe7b76e03ee2d71fa8a944.tar.xz
tm-scripts-37ce91c2c2c3b71b40fe7b76e03ee2d71fa8a944.zip
[vmchooser] always create spooldir for lpd in /tmp as jobs might get huge (couple of hundred MBs)
Diffstat (limited to 'remote/modules/vmchooser')
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt18
1 files changed, 11 insertions, 7 deletions
diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
index c4ae4617..26d92dde 100755
--- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
+++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
@@ -58,13 +58,15 @@ cleanexit () {
# Disconnect dnbd3 device
if [ -n "$dnbd3" ]; then
for timeout in 1 1 2; do
- dnbd3-client -d "$dnbd3" -c && break
+ dnbd3-client -d "$dnbd3" -c -d "$dnbd3" -c && break
writelog "dnbd3 still busy...."
sleep "$timeout"
done
fi
# Kill LPD
kill "$PID_LPD"
+ # Remove spool directory for printjobs from VM
+ [ -n "${SPOOLDIR}" ] && rm -rf -- "${SPOOLDIR}"
[ $# -gt 0 ] && exit "$1"
exit 129 # No exit code was given :/
@@ -449,14 +451,16 @@ amixer -q -c pcsp sset Master "0%" mute 2>/dev/null # fix random static noise
# Start printer daemon
QUEUE="STANDARD" # This has to match the queue you configured in your VM
USER="$(whoami)"
-# Try using users tmpfs home first, as it gets wiped on logout
-if [ -n "${HOME}" ] && [ -w "${HOME}" ]; then
- SPOOLDIR="${HOME}/.spool"
- mkdir -p "${SPOOLDIR}/${QUEUE}"
-fi
+SPOOLDIR=
+### Disabled: 100megs is not enough, some jobs are HUGE, try to use temp which should be on disk
+## Try using users tmpfs home first, as it gets wiped on logout
+#if [ -n "${HOME}" ] && [ -w "${HOME}" ]; then
+# SPOOLDIR="${HOME}/.spool"
+# mkdir -p "${SPOOLDIR}/${QUEUE}"
+#fi
# If failed, try to fall back to /tmp
if [ -z "${SPOOLDIR}" ] || [ ! -w "${SPOOLDIR}/${QUEUE}" ]; then
- SPOOLDIR="/tmp/printergui/${USER}/"
+ SPOOLDIR="/tmp/printergui/${USER}-$$-${RANDOM}/"
rm -rf -- "${SPOOLDIR}"
mkdir -p "${SPOOLDIR}/${QUEUE}"
fi