mountcritlocal revision 123532
1251609Sdim#!/bin/sh
2251609Sdim#
3251609Sdim# $NetBSD: mountcritlocal,v 1.7 2002/04/29 12:29:53 lukem Exp $
4251609Sdim# $FreeBSD: head/etc/rc.d/mountcritlocal 123532 2003-12-14 09:42:02Z seanc $
5251609Sdim#
6251609Sdim
7251609Sdim# PROVIDE: mountcritlocal
8251609Sdim# REQUIRE: root ataraid
9251609Sdim# KEYWORD: FreeBSD NetBSD
10251609Sdim
11251609Sdim. /etc/rc.subr
12251609Sdim
13251609Sdimname="mountcritlocal"
14251609Sdimstart_cmd="mountcritlocal_start"
15251609Sdimstop_cmd=":"
16251609Sdim
17251609Sdimmountcritlocal_start()
18251609Sdim{
19251609Sdim	case ${OSTYPE} in
20251609Sdim	FreeBSD)
21251609Sdim		# Set up the list of network filesystem types for which mounting
22251609Sdim		# should be delayed until after network initialization.
23251609Sdim		case ${extra_netfs_types} in
24251609Sdim		[Nn][Oo])
25251609Sdim			;;
26251609Sdim		*)
27251609Sdim			netfs_types="${netfs_types} ${extra_netfs_types}"
28251609Sdim			;;
29251609Sdim		esac
30251609Sdim
31251609Sdim		# Mount everything except nfs filesystems.
32251609Sdim		mount_excludes='no'
33251609Sdim		for i in ${netfs_types}; do
34251609Sdim			fstype=${i%:*}
35251609Sdim			mount_excludes="${mount_excludes}${fstype},"
36251609Sdim		done
37251609Sdim		mount_excludes=${mount_excludes%,}
38251609Sdim		mount -a -t ${mount_excludes}
39251609Sdim
40251609Sdim		case $? in
41251609Sdim		0)
42251609Sdim			;;
43251609Sdim		*)
44251609Sdim			echo 'Mounting /etc/fstab filesystems failed,' \
45251609Sdim			    ' startup aborted'
46251609Sdim			kill -QUIT $$
47251609Sdim			;;
48251609Sdim		esac
49251609Sdim		;;
50251609Sdim	NetBSD)
51251609Sdim		#	Mount critical filesystems that are `local'
52251609Sdim		#	(as specified in $critical_filesystems_local)
53251609Sdim		#	This usually includes /var.
54251609Sdim		#
55251609Sdim		mount_critical_filesystems local
56251609Sdim
57251609Sdim		#	clean up left-over files.
58251609Sdim		#	this could include the cleanup of lock files and /var/run, etc.
59251609Sdim		#
60251609Sdim		rm -f /etc/nologin /var/spool/lock/LCK.* /var/spool/uucp/STST/*
61251609Sdim		(cd /var/run && rm -rf -- *)
62251609Sdim		;;
63251609Sdim	esac
64251609Sdim}
65251609Sdim
66251609Sdimload_rc_config $name
67251609Sdimrun_rc_command "$1"
68251609Sdim