1#! /bin/sh 2 3# In case the interface is used as nfsroot, avoid ifup, otherwise 4# nfsroot may lose response 5 6nfsroot=0 7 8if test "x$IFACE" = xlo ; then 9 exit 0 10fi 11 12exec 9<&0 < /proc/mounts 13while read dev mtpt fstype rest; do 14 if test $mtpt = "/" ; then 15 case $fstype in 16 nfs | nfs4) 17 nfsroot=1 18 nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'` 19 break 20 ;; 21 *) 22 ;; 23 esac 24 fi 25done 26exec 0<&9 9<&- 27 28test $nfsroot -eq 0 && exit 0 29 30if [ -x /bin/ip -o -x /sbin/ip ] ; then 31 nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'` 32fi 33 34if test "x$IFACE" = "x$nfs_iface" ; then 35 echo "ifup skipped for nfsroot interface $nfs_iface" 36 exit 1 37fi 38 39exit 0 40