0b341f4fb2
Removed call from qubes_installation scripts for proxy files. will now be added by sub-template Renamed extra-whonix-files to files Modifies functions.sh to allow for very short proxy names and custom directories that will be dist independent
46 lines
1.4 KiB
Bash
Executable File
46 lines
1.4 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
dir=$(dirname "$0")
|
|
. "$dir/xen-hotplug-common.sh"
|
|
|
|
# Claim the lock protecting ${XEN_SCRIPT_DIR}/block. This stops a race whereby
|
|
# paths in the store would disappear underneath that script as it attempted to
|
|
# read from the store checking for device sharing.
|
|
# Any other scripts that do similar things will have to have their lock
|
|
# claimed too.
|
|
# This is pretty horrible, but there's not really a nicer way of solving this.
|
|
claim_lock "block"
|
|
|
|
# split backend/DEVCLASS/VMID/DEVID on slashes
|
|
path_array=( ${XENBUS_PATH//\// } )
|
|
# get /vm/UUID path
|
|
vm=$(xenstore_read_default "/local/domain/${path_array[2]}/vm" "")
|
|
# construct /vm/UUID/device/DEVCLASS/DEVID
|
|
if [ "$vm" != "" ]; then
|
|
vm_dev="$vm/device/${path_array[1]}/${path_array[3]}"
|
|
|
|
# if the vm path does not exist and the device class is 'vbd' then we may have
|
|
# a tap2 device
|
|
$(xenstore-read "$vm_dev" 2>/dev/null) || \
|
|
{
|
|
if [ "${path_array[1]}" = "vbd" ]; then
|
|
vm_dev="$vm/device/tap2/${path_array[3]}"
|
|
fi
|
|
}
|
|
else
|
|
vm_dev=
|
|
fi
|
|
|
|
# remove device frontend store entries
|
|
xenstore-rm -t \
|
|
$(xenstore-read "$XENBUS_PATH/frontend" 2>/dev/null) 2>/dev/null || true
|
|
|
|
# remove device backend store entries
|
|
xenstore-rm -t "$XENBUS_PATH" 2>/dev/null || true
|
|
xenstore-rm -t "error/$XENBUS_PATH" 2>/dev/null || true
|
|
|
|
# remove device path from /vm/UUID
|
|
[ "$vm_dev" != "" ] && xenstore-rm -t "$vm_dev" 2>/dev/null || true
|
|
|
|
release_lock "block"
|