log_script_name "$0 $*"
+mountnetfs_start() {
+ if ! grep -q "_netdev" /etc/fstab; then
+ echo "No network filesystem found in fstab"
+ exit ${EXIT_CODE_WARNING}
+ fi
+
+ if grep -q "nfs" /etc/fstab; then
+ # rpc.statd is required to mount nfs shares
+ if [ ! -x /sbin/rpc.statd ]; then
+ echo "Missing rpc.statd executable"
+ exit ${EXIT_CODE_WARNING}
+ fi
+
+ if statusproc rpc.statd | grep -q "not running"; then
+ cmd_run_log_box "Starting rpc.statd" loadproc rpc.statd
+ fi
+ fi
+
+ # Walk through /etc/fstab and mount all file systems that have the
+ #_netdev option set in the fs_mntops field (the 4th field. See man
+ # fstab for more info).
+ cmd_run_log_box "Mounting network file systems" mount -a -O _netdev
+}
+
mountnetfs_stop() {
# The following line obtains a list from the output of
# mount for all netfs types and anything that was
# Try and stop processes the nice way
# (probably won't work in most cases)
/bin/fuser -TERM -m $NETMOUNTS > /dev/null
-
+
# Check and see if it found anything. If it
# did, then give 3 seconds for things to exit
# the nice way before killing them off.
fi
}
-
case "$1" in
start)
- # Walk through /etc/fstab and mount all file systems that have the
- # _netdev option set in the fs_mntops field (the 4th field. See man
- # fstab for more info).
- cmd_run_log_box "Mounting network file systems" mount -a -O _netdev
+ mountnetfs_start
;;
stop)
cmd_run_log_box "Unmounting network file systems" mountnetfs_stop
+ if statusproc rpc.statd | grep -q "running with"; then
+ cmd_run_log_box "Stopping rpc.statd" killproc rpc.statd
+ fi
;;
*)