#!/bin/sh

# utility part

if [ -n "$1" ] ; then
  devname=$(findfs LABEL=$1)
  if [ $? -eq 0 ] ;  then
    udisksctl unmount -b "$devname" --no-user-interaction
    if [ $? -eq 0 ] ;  then
      udisksctl power-off -b "$devname" --no-user-interaction
    fi
  fi
  exit
fi




# service part

devpathtoname() {
  udevadm info -p /sys/"$1" | awk -v FS== '/DEVNAME/ {print $2}'
}

stdbuf -oL -- udevadm monitor --udev -s block | while read -r -- _ _ event devpath _; do
  if [ "$event" = add ]; then
    devname=$(devpathtoname "$devpath")
    echo "Added $devname"
    #udisksctl mount --block-device "$devname" --no-user-interaction
    #su -c 'udisksctl mount --block-device "$devname" --no-user-interaction' - lion
    udisksctl mount --block-device "$devname" --no-user-interaction --options flush,noatime,noexec,nosuid,dmask=000,fmask=111
  fi
done
