X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nfsfs.init;h=68bc4d981df0e27ab313e2d31c0f0504b158ab4d;hb=refs%2Fheads%2FRA-branch;hp=6cdba951db9a1e5b9cdc3197a95960551f0feeee;hpb=ff100ffcddb4d5d218424aa333ec3e1da0da2039;p=packages%2Fnfs-utils.git diff --git a/nfsfs.init b/nfsfs.init index 6cdba95..68bc4d9 100644 --- a/nfsfs.init +++ b/nfsfs.init @@ -25,7 +25,7 @@ fi # Check that networking is up. if is_yes "${NETWORKING}"; then - if [ ! -f /var/lock/subsys/network ]; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down nfsfs exit 1 fi @@ -44,7 +44,7 @@ case "$1" in touch /var/lock/subsys/nfsfs ;; stop) - if [ -f /proc/mounts ] ; then + if [ -f /proc/mounts ]; then fsfile="/proc/mounts" else fsfile="/etc/mtab" @@ -52,20 +52,21 @@ case "$1" in show "Unmounting NFS filesystems" busy + retry=3 remaining=$(awk '$3 == "nfs" {print $2}' $fsfile) - while [ -n "$remaining" -a 3 -gt 0 ] - do + while [ -n "$remaining" -a $retry -gt 0 ]; do fuser -msk -TERM `awk '$3 == "nfs" {print $2}' < $fsfile` sleep 2 fuser -msk -KILL `awk '$3 == "nfs" {print $2}' < $fsfile` umount -a -f -t nfs remaining=$(awk '$3 == "nfs" {print $2}' $fsfile) + retry=$(($retry-1)) done ok rm -f /var/lock/subsys/nfsfs ;; status) - if [ -f /proc/mounts ] ; then + if [ -f /proc/mounts ]; then echo "Configured NFS mountpoints:" grep -v '^#' /etc/fstab | \ awk '{ if ($3 ~ /^nfs$/ && $4 !~ /noauto/) print $2}' @@ -80,12 +81,12 @@ case "$1" in $0 stop $0 start ;; - reload) + reload|force-reload) mount -a -t nfs ;; *) - msg_usage "$0 {start|stop|restart|reload|status}" - exit 1 + msg_usage "$0 {start|stop|restart|reload|force-reload|status}" + exit 3 esac exit 0