#!/bin/sh

CURRENT_NUM="2 3"
RESERVE_NUM="2 3 4 5 6"

showlist() {
	for i in $CURRENT_NUM; do
		printf "[%d] swtest%d\t192.168.15.6%d\n" $i $i `expr $i - 3`
	done
}

showhelp() {
	cat <<-EOF
	msw - Mount NFS on SWTest server

	Usage: msw (options) [Num]

	Options:
	    -h        Show this help
	    -l        List servers

	EOF
}

trymount() {
	local valid="n"

	for i in $RESERVE_NUM; do
		if [ "$1" == "$i" ]; then
			valid="y"
		fi
	done

	if [ "$valid" == "n" ]; then
		printf "ERROR: invalid num: [%s]\n\n" $1
		showhelp
		exit 1
	fi

	local servip=$(printf "192.168.15.6%d" `expr $1 - 3`)

	if [ ! -z "$(busybox mount | grep $servip 2>/dev/null)" ]; then
		echo "${servip}:/home/tmp already mounted at /mnt/tmp$1"
		exit 0
	fi

	[ -d /mnt/tmp$1 ] || mkdir /mnt/tmp$1

	busybox mount -t nfs -o nolock ${servip}:/home/tmp /mnt/tmp$1
}

[ -z "$1" ] && showhelp && exit 1

case "$1" in
	-h)
		showhelp
		exit 0
		;;
	-l)
		showlist
		exit 0
		;;
	*)
		trymount "$1"
esac

