Improve slice and delay handling.
This commit is contained in:
parent
adb31d1e86
commit
2e0ffda273
1 changed files with 5 additions and 2 deletions
|
@ -7,6 +7,8 @@ set -eu
|
||||||
usr="$1"
|
usr="$1"
|
||||||
uid="$2"
|
uid="$2"
|
||||||
mtp="$3"
|
mtp="$3"
|
||||||
|
slce="system-virtiofs.slice"
|
||||||
|
slp=false
|
||||||
|
|
||||||
shutdownVMs(){
|
shutdownVMs(){
|
||||||
local VM
|
local VM
|
||||||
|
@ -19,6 +21,7 @@ shutdownVMs(){
|
||||||
XDG_CONFIG_HOME="/tmp/$uid/.config/" \
|
XDG_CONFIG_HOME="/tmp/$uid/.config/" \
|
||||||
XDG_CACHE_HOME="/var/cache/user/$uid/" \
|
XDG_CACHE_HOME="/var/cache/user/$uid/" \
|
||||||
virsh destroy "$VM" 2>&1 | systemd-cat || true
|
virsh destroy "$VM" 2>&1 | systemd-cat || true
|
||||||
|
slp=true
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,10 +30,10 @@ shutdownVMs(){
|
||||||
## This is the first mount we need to get rid of:
|
## This is the first mount we need to get rid of:
|
||||||
if [[ "$mtp" =~ "/lmn/media/$usr/share" ]] ; then
|
if [[ "$mtp" =~ "/lmn/media/$usr/share" ]] ; then
|
||||||
shutdownVMs
|
shutdownVMs
|
||||||
sleep 5 # leave some time to write caches …
|
[[ "$slp" = true ]] && sleep 5 # leave some time to write caches …
|
||||||
sudo -u ${usr} killall gvfsd | systemd-cat
|
sudo -u ${usr} killall gvfsd | systemd-cat
|
||||||
sudo -u ${usr} killall dbus-daemon | systemd-cat
|
sudo -u ${usr} killall dbus-daemon | systemd-cat
|
||||||
systemctl kill system-virtiofs.slice || true
|
systemctl -q is-active "$slce" && systemctl kill "$slce"
|
||||||
# debug to find processes blocking umount:
|
# debug to find processes blocking umount:
|
||||||
# lsof >> /var/log/lsof.log
|
# lsof >> /var/log/lsof.log
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Reference in a new issue