#!/bin/bash # Due to portmap registration NFS takes some time to # export all volumes. Therefore tests should start only # after exports are visible by showmount command. This # routine will check if showmount shows the exports or not # function is_nfs_export_available () { local vol=$1 if [ "$vol" == "" ]; then vol=$V0 fi exp=$(showmount -e localhost 2> /dev/null | grep $vol | wc -l) echo "$exp" } function mount_nfs () { local e=$1 local m=$2 local opt=$3 if [ ! -z "$opt" ]; then opt=",$opt"; fi opt="soft,intr,vers=3$opt" nopt="" for o in ${opt//,/ }; do case $OSTYPE in NetBSD) test "x${nopt}" = "x" && nopt="tcp,-R=2," case $o in nolock|noac|actimeo=*|mountproto=udp) continue ;; proto=tcp) o="tcp" ;; vers=3) o="nfsv3" ;; retry=*) o=${o/retry=/-R} ;; timeo=*) o=${o/timeo=/-t} ;; retrans=*) o=${o/retrans=/-x} ;; *) ;; esac ;; *) ;; esac if [ ! -z "$nopt" ]; then nopt="${nopt},"; fi nopt="${nopt}$o" done mount -t nfs -o $nopt $e $m } function umount_nfs { ${UMOUNT_F} $1 if [ $? -eq 0 ]; then echo "Y"; else echo "N"; fi }