#!/usr/bin/bash

set -eu

# if less than one arguments supplied, display usage
if [[  $# -ne 1 ]]; then
    echo "This script takes as input the name of the VM " >&2
    echo "Usage: $0 vm_name" >&2
    exit 1
fi

VM_NAME="$1"
XDG_RUNTIME_DIR="/run/user/${SUDO_UID}"

if ! [[ -d "${XDG_RUNTIME_DIR}/virtiofs" ]]; then
       mkdir "${XDG_RUNTIME_DIR}/virtiofs/"
       chown "${SUDO_UID}" "${XDG_RUNTIME_DIR}/virtiofs/"
fi

if [[ -S "${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock" ]] ; then
    /usr/bin/rm "${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock"
fi
#sudo /usr/lib/qemu/virtiofsd --socket-path="${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock" \
#     --socket-group="${SUDO_USER}" --announce-submounts -o source="/media/${USER}" > /dev/null &
#sudo /usr/lib/qemu/virtiofsd --socket-path="${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock" \
#     --socket-group="${SUDO_USER}" -o source="/media/${USER}" > /dev/null &

/usr/lib/qemu/virtiofsd --socket-path="${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock" \
			-o source="/lmn/media/${SUDO_USER}/" &

# Wait until socket-File exists and chown to user
until [[ -S "${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock" ]]; do
    echo "waiting for ${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock"
    sleep 0.1
done
/usr/bin/chown "${SUDO_USER}" "${XDG_RUNTIME_DIR}/virtiofs/${VM_NAME}-clone.sock"