mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-20 11:11:24 +00:00
82387f41ed
in keeping the scripts under rc.d in sync with us. So, remove NetBSD specific stuff (which made our scripts more complicated than necessary). The NetBSD ident string will be left intact, both for history and also incase we wish to pull in future versions.
79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $NetBSD: mountcritremote,v 1.7 2002/04/29 12:29:53 lukem Exp $
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: mountcritremote
|
|
# REQUIRE: NETWORKING root mountcritlocal
|
|
# KEYWORD: FreeBSD
|
|
|
|
. /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
|
|
if ! sysctl vfs.nfs >/dev/null 2>&1; then
|
|
kldload nfsclient || warn 'nfs mount ' \
|
|
'requested, but no nfs client in kernel' \
|
|
return 1
|
|
fi
|
|
;;
|
|
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"
|