1160303Sdes#!/bin/sh
2160303Sdes#
3160303Sdes# $FreeBSD$
4160303Sdes#
5160303Sdes
6160303Sdes# PROVIDE: mountlate
7160303Sdes# REQUIRE: DAEMON
8160303Sdes# BEFORE: LOGIN
9160303Sdes# KEYWORD: nojail
10160303Sdes
11160303Sdes. /etc/rc.subr
12160303Sdes
13160303Sdesname="mountlate"
14160303Sdesstart_cmd="mountlate_start"
15160303Sdesstop_cmd=":"
16160303Sdes
17160303Sdesmountlate_start()
18160303Sdes{
19179928Smtm	local err latefs
20176873Smtm
21160303Sdes	# Mount "late" filesystems.
22179928Smtm	#
23179928Smtm	err=0
24179928Smtm	latefs=
25179928Smtm	# / (root) fs is always remounted, so remove from list
26179928Smtm	latefs="`/sbin/mount -d -a -l | grep -v ' /$'`"
27179928Smtm	case ${latefs} in
28179928Smtm	'')
29179928Smtm		;;
30179928Smtm	*)
31179928Smtm		echo -n 'Mounting late file systems:'
32179928Smtm		mount -a -l
33179928Smtm		err=$?
34179928Smtm		echo '.'
35179928Smtm		;;
36179928Smtm	esac
37160303Sdes
38176873Smtm	case ${err} in
39160303Sdes	0)
40160303Sdes		;;
41160303Sdes	*)
42160303Sdes		echo 'Mounting /etc/fstab filesystems failed,' \
43160303Sdes		    ' startup aborted'
44169668Smtm		stop_boot true
45160303Sdes		;;
46160303Sdes	esac
47177061Sdelphij
48177061Sdelphij 	# If we booted a special kernel remove the record
49177061Sdelphij 	# so we will boot the default kernel next time.
50177061Sdelphij 	if [ -x /sbin/nextboot ]; then
51177061Sdelphij		/sbin/nextboot -D
52177061Sdelphij 	fi
53160303Sdes}
54160303Sdes
55160303Sdesload_rc_config $name
56160303Sdesrun_rc_command "$1"
57