#!/bin/bash
. /etc/sss_script/event/lib_sss
USB_PROCESS_LOCK=/var/lock/nas-usb.lock

SSS_UsbSave()
{
#	echo "SSS_UsbSave()" > /dev/ttyS0
	find /sys/block -name device |xargs ls -al |grep usb1 |awk -F'/' '
	{
		ret="";
		"dd if=/dev/"$4" of=/dev/null bs=1 count=0 > /dev/null 2>&1 && echo $?" | getline ret;
		if(ret != "" ){
			"cat /sys/block/"$4"/size"| getline size;
			print $4" size = "size;
			rm -rf $USB_PROCESS_LOCK
			return 0;
		}else{ 
			rm -rf $USB_PROCESS_LOCK
			return 1;
		}	
	}' > ${SSS_USB_LIST_NEW}
	ADD=`cat ${SSS_USB_LIST_NEW} | awk '
	{
		ret="";
		"grep "$1" /etc/sss_script/disk/usb_list > /dev/null 2>&1 && echo add" | getline ret;
		#echo "<<<<<<<<<<ADD  = "ret > /dev/ttyS0
		if(ret != "add"){
			print $1;
		}
	}'` 
	if [ "$ADD" != "" ]; then
		SSS_GetDiskInfoAndSaveScsi

		for UsbDev in $ADD
		do
			DevToHostNumWithFile $UsbDev
			RMV_Mount $UsbDev $HostNum
		done
	fi
	RMV=`cat ${SSS_USB_LIST} | awk '
	{
		if($1 != ""){
			ret="";
			"grep "$1" /etc/sss_script/disk/usb_list_new > /dev/null 2>&1 && echo remove" | getline ret;
	#	echo "<<<<<<<<<<REM  = "ret > /dev/ttyS0
			if( ret != "remove" ){
				print $1;
			}	
		}
	}'`
	if [ "$RMV" != "" ]; then
		for UsbDev in $RMV
		do
			DevToHostNumWithFile $UsbDev
			RMV_Unmount $UsbDev $HostNum
		done
		SSS_GetDiskInfoAndSaveScsi
	fi
	cp -a ${SSS_USB_LIST_NEW} ${SSS_USB_LIST}
}
SSS_UsbCheck()
{
#	echo "SSS_UsbCheck()"
	find /sys/block -name device |xargs ls -al |grep usb1 |awk -F'/' '
	{
		ret="";
		"dd if=/dev/"$4" of=/dev/null bs=1 count=0 > /dev/null 2>&1 && echo $?" | getline ret;
		if(ret != "" ){
			"cat /sys/block/"$4"/size"| getline size;
			print $4" size = "size;
		} 
	}'| cmp ${SSS_USB_LIST} > /dev/null 2>&1
}

SSS_UsbBlockDevHave()
{
#	echo "SSS_UsbBlockDevHave()"
	find /sys/block -name device |xargs ls -al |grep usb1 > /dev/null 2>&1
}

echo  "" >  ${SSS_USB_LIST}
echo "SSS USB-Storage Daemon Started" > /dev/console 	 
while :
do
	SSS_UsbBlockDevHave
	if [ $? != 0 ] ; then
		SSS_UsbSave
		break;
	fi

	SSS_UsbCheck
	if [ $? = 0 ] ; then
	#echo usb device list same
		sleep 2
	else 
#		echo usb device list changed > /dev/ttyS0
	#	add or remove?
		SSS_UsbSave
	fi
done
rm -rf $USB_PROCESS_LOCK
echo "SSS USB-Storage Daemon Ended" > /dev/console 
