#!/bin/ash
#
# root [[REMOTE_NAME] [SRVNAME]]
#
# remote name: selects the UFS server/dialstring from your local configs
# srv name: optional name for the chan in #s
#
# when run with no args, this will mount ufs for qemu

DIALSTRING='tcp!10.0.2.2!1025'

REMOTE="qemu"
if [ "$#" -ge "1" ]
then
	REMOTE=$1
fi

SRVNAME=$REMOTE-ufs
if [ "$#" -ge "2" ]
then
	SRVNAME=$2
fi

# Given $REMOTE, override DIALSTRING.  Use something like this:
#
#if [ "x$REMOTE" = "xqemu" ]
#then
#	: #nothing
#elif [ "x$REMOTE" = "xSOMEHOST" ]
#then
#	DIALSTRING='tcp!SOMEIP!1025'
#else
#	echo "Unknown remote: $REMOTE!"
#	exit
#fi
[[ -f /etc/netmounts ]] && source /etc/netmounts

srv $DIALSTRING $SRVNAME

mount -a -c /srv/$SRVNAME /mnt
