#! /bin/bash
#
# $1 = /dev[sd,scd,st] entry
# $2 = iSCSI Channel ID
# $3 = iSCSI Logical Unit Number
# $4 = Partition
# $5 = iSCSI LUN Mount point
# $6 = iSCSI Target Node Directory
#
# - Added mkdir for non exist mount points
# - Added $IROOT
# - Added $READ_MEDIA
#

READ_MEDIA=0

#echo "$1, $2, $3, $4, $5, $6"

if [ $4 != 0 ]; then
	DEV=$1$4
else
	DEV=$1
	READ_MEDIA=1
fi

df > /tmp/iscsi-mount.cache
if grep -q "/dev/$DEV" /tmp/iscsi-mount.cache
then
	tput sgr0
        echo "iSCSI Channel[$2] LUN[$3] STATUS: [ALREADY MOUNTED]"
	echo "Already Mapped to /$6/$5"
        rm -rf /tmp/iscsi-mount.cache
        exit 0
fi
rm -rf /tmp/iscsi-mount.cache

if [ ! -d /$6 ]; then
	/bin/mkdir /$6
	echo "Created iSCSI Target node directory at /$6"
fi
if [ ! -d /$6/$5 ]; then
	/bin/mkdir /$6/$5
	echo "Created mountpoint directory at /$6/$5"
fi

if [ $4 == 0 ]; then
	if [ $DEV == "scd?" ]; then
		echo "iSCSI Channel[$2] LUN[$3] STATUS: [SKIPPING]"
		exit 1
	fi
        /bin/mount /dev/$DEV /$6/$5 > /dev/null
        RET=$?
else
        /bin/mount /dev/$DEV /$6/$5 >> /dev/null
        RET=$?
fi

echo "/bin/mount /dev/$DEV /$6/$5"

if [ $RET == 1 ]; then
        echo "iSCSI Channel[$2] LUN[$3] STATUS: [NOT MOUNTED]"
        exit 1
fi

if [ $RET == 32 ]; then
	echo "iSCSI Channel[$2] LUN[$3] STATUS: [UNKNOWN FILESYSTEM]"
	exit 1
fi

echo "iSCSI Channel[$2] LUN[$3] STATUS: [MOUNTED]"
echo "iSCSI Channel[$2] LUN[$3] /dev/$DEV -> /$6/$5"

exit

