#!bin/sh

## If unplug disk1, remove the soft link
stop_process(){
	check=$(ls -l /mnt | grep "/mnt/usb_${node}" | awk '{printf $9 }')
	[ "$check" = "usb_disk1" ] && {
		rm /mnt/usb_disk1
	}
}

case "$ACTION" in
	add)
		[ -n "${INTERFACE}" ] &&
		[ "$(expr substr ${INTERFACE} 1 2)" == "8/" ] && {
			/sbin/usb_storage &
		}
		;;
	remove)
		lock /var/lock/remove-${DEVICENAME}
		for node in `cat /var/run/usb/${DEVICENAME}.*`; do
			if [ -f /var/run/usb/${DEVICENAME}.${node} ]; then
				
				stop_process
				## Some disk unplug, call syslogd.
				kill -61 $(pidof syslogd)
				
				echo "Unmounting ${node}" > /dev/console
				umount /dev/${node}
				rm -f /var/run/usb/*.${node}
				rmdir /mnt/usb_${node}
				
				###  prevent error (unplug when usb busy need to re-umount after usb not busy)
				cnt=1
				while [ -e /mnt/usb_${node} ]
				do
					sleep 1
					
					umount /dev/${node}
					rm -f /var/run/usb/*.${node}
					rm -rf /mnt/usb_${node}
					
					# at most 10 loop
					if [ $cnt -eq 10 ];then
						#The device failed
						umount -l /dev/${node} 
						rm -f /var/run/usb/*.${node}
						rm -rf /mnt/usb_${node}
						break
					fi
					cnt=$(($cnt+1))
				done
				###
			fi
		done
		lock -u /var/lock/remove-${DEVICENAME}
		;;
esac