Sync 'make distribution' with an upgraded system, file-wise.
[dragonfly.git] / etc / rc.d / mountcritremote
blob61b9fab9c386a224d0a1e3436cf1024ef3034920
1 #!/bin/sh
3 # $NetBSD: mountcritremote,v 1.7 2002/04/29 12:29:53 lukem Exp $
4 # $FreeBSD: src/etc/rc.d/mountcritremote,v 1.6 2003/06/01 01:43:37 gordon Exp $
7 # PROVIDE: mountcritremote
8 # REQUIRE: NETWORKING root mountcritlocal cleanvar
10 . /etc/rc.subr
12 name="mountcritremote"
13 stop_cmd=":"
15 start_cmd="mountcritremote_start"
16 start_precmd="mountcritremote_precmd"
18 # Mount NFS filesystems if present in /etc/fstab
20 # XXX When the vfsload() issues with nfsclient support and related sysctls
21 # have been resolved, this block can be removed, and the condition that
22 # skips nfs in the following block (for "other network filesystems") can
23 # be removed.
25 mountcritremote_precmd()
27 case "`mount -d -a -t nfs 2> /dev/null`" in
28 *mount_nfs*)
29 # Handle absent nfs client support
30 if ! sysctl vfs.nfs >/dev/null 2>&1; then
31 kldload nfs || warn 'nfs mount ' \
32 'requested, but no nfs client in kernel' \
33 return 1
36 esac
37 return 0
40 mountcritremote_start()
42 # Mount nfs filesystems.
44 echo -n 'Mounting NFS file systems:'
45 mount -a -t nfs
46 echo '.'
47 # Mount other network filesystems if present in /etc/fstab.
48 case ${extra_netfs_types} in
49 [Nn][Oo])
52 netfs_types="${netfs_types} ${extra_netfs_types}"
54 esac
55 for i in ${netfs_types}; do
56 fstype=${i%:*}
57 fsdecr=${i#*:}
58 [ "${fstype}" = "nfs" ] && continue
59 case "`mount -d -a -t ${fstype}`" in
60 *mount_${fstype}*)
61 echo -n "Mounting ${fsdecr} file systems:"
62 mount -a -t ${fstype}
63 echo '.'
65 esac
66 done
68 # Cleanup /var again just in case it's a network mount.
69 /etc/rc.d/cleanvar reload
70 rm -f /var/run/clean_var /var/spool/lock/clean_var
73 load_rc_config $name
74 run_rc_command "$1"