#!/bin/bash
. /usr/share/groovix/global.conf

if [ $# -gt 0 ] ; then
	USERMODE=true
	UMOUNTUSER=$1
	echo UMOUNTUSER is $UMOUNTUSER
else
	USERMODE=false
fi

TRIES=3
TRYCOUNT=0
MOUNTCOUNT=1
MOUNTOPTS=""

while [ $MOUNTCOUNT -ne 0 ] && [ $TRYCOUNT -lt $TRIES  ];  do 

echo running unmounter try $TRYCOUNT

let TRYCOUNT++

MOUNTCOUNT=0
#find any mount points under /media or /home or /tmp, add any directory where a user could create a directory for mounting
for MOUNTPOINT in `cat /proc/mounts | cut -f 2 -d" " | egrep "/media/.+|/home/.+|/tmp/.+"`; do
if [ "$USERMODE" = "true" ] ; then
	echo su $UMOUNTUSER -c  "umount $MOUNTPOINT $MOUNTOPTS"
	su $UMOUNTUSER -c "umount $MOUNTPOINT $MOUNTOPTS"
else
	echo umount $MOUNTPOINT $MOUNTOPTS
	umount $MOUNTPOINT $MOUNTOPTS
fi
	let MOUNTCOUNT++
done

#on tries 2 and above, start doing lazy unmounts
MOUNTOPTS="-l"

done

#OLD METHOD:
#get rid of old mountings for this user forcefully (as root)
#cd $HOME
#find share -maxdepth 1 -name "*_on*"  -type d -exec smbumount {} \;
#for D in `grep "/media/$USER" /etc/mtab | cut -f 1 -d" "`; do umount $D; umount -l $D; done
#for D in `grep "$HOME" /etc/mtab | cut -f 2 -d" "`; do umount $D; umount -l $D; done

#if [ "$GX_MOUNT_SLIM_DISKS" = "true" ] ; then
#	umount `readlink -f /home/$UMOUNTUSER/usbdrive`
#	umount -l `readlink -f /home/$UMOUNTUSER/usbdrive`
#fi
