e3c46a3332
with theirs, so this information doesn't need to be in the live file. Having it in our CVS history is enough.
74 lines
1.4 KiB
Bash
Executable File
74 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: mountcritremote
|
|
# REQUIRE: NETWORKING FILESYSTEMS cleanvar ipsec
|
|
# KEYWORD: nojail
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="mountcritremote"
|
|
stop_cmd=":"
|
|
start_cmd="mountcritremote_start"
|
|
start_precmd="mountcritremote_precmd"
|
|
|
|
# Mount NFS filesystems if present in /etc/fstab
|
|
#
|
|
# XXX When the vfsload() issues with nfsclient support and related sysctls
|
|
# have been resolved, this block can be removed, and the condition that
|
|
# skips nfs in the following block (for "other network filesystems") can
|
|
# be removed.
|
|
#
|
|
mountcritremote_precmd()
|
|
{
|
|
case "`mount -d -a -t nfs 2> /dev/null`" in
|
|
*mount_nfs*)
|
|
# Handle absent nfs client support
|
|
load_kld -m nfs nfsclient || return 1
|
|
;;
|
|
esac
|
|
return 0
|
|
}
|
|
|
|
mountcritremote_start()
|
|
{
|
|
# Mount nfs filesystems.
|
|
#
|
|
echo -n 'Mounting NFS file systems:'
|
|
mount -a -t nfs
|
|
echo '.'
|
|
|
|
# Mount other network filesystems if present in /etc/fstab.
|
|
case ${extra_netfs_types} in
|
|
[Nn][Oo])
|
|
;;
|
|
*)
|
|
netfs_types="${netfs_types} ${extra_netfs_types}"
|
|
;;
|
|
esac
|
|
|
|
for i in ${netfs_types}; do
|
|
fstype=${i%:*}
|
|
fsdecr=${i#*:}
|
|
|
|
[ "${fstype}" = "nfs" ] && continue
|
|
|
|
case "`mount -d -a -t ${fstype}`" in
|
|
*mount_${fstype}*)
|
|
echo -n "Mounting ${fsdecr} file systems:"
|
|
mount -a -t ${fstype}
|
|
echo '.'
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Cleanup /var again just in case it's a network mount.
|
|
/etc/rc.d/cleanvar reload
|
|
rm -f /var/run/clean_var /var/spool/lock/clean_var
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|