#! /bin/sh # In case the interface is used as nfsroot, avoid ifup, otherwise # nfsroot may lose response nfsroot=0 if test "x$IFACE" = xlo ; then exit 0 fi exec 9<&0 < /proc/mounts while read dev mtpt fstype rest; do if test $mtpt = "/" ; then case $fstype in nfs | nfs4) nfsroot=1 nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'` break ;; *) ;; esac fi done exec 0<&9 9<&- test $nfsroot -eq 0 && exit 0 if [ -x /bin/ip -o -x /sbin/ip ] ; then nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'` fi if test "x$IFACE" = "x$nfs_iface" ; then echo "ifup skipped for nfsroot interface $nfs_iface" exit 1 fi exit 0