fsck revision 1.7
1#!/bin/sh
2#
3# $NetBSD: fsck,v 1.7 2007/04/06 14:20:17 apb Exp $
4#
5
6# PROVIDE: fsck
7# REQUIRE: localswap
8
9$_rc_subr_loaded . /etc/rc.subr
10
11name="fsck"
12start_cmd="fsck_start"
13stop_cmd=":"
14
15fsck_start()
16{
17	if [ -e /fastboot ]; then
18		echo "Fast boot: skipping disk checks."
19	else
20		trap : 2		# Ignore SIGINT, SIGQUIT, so we
21		trap : 3		# enter single-user mode on failure.
22
23		echo "Starting file system checks:"
24		fsck $fsck_flags
25		case $? in
26		0)
27			;;
28		2)
29			stop_boot
30			;;
31		4)
32			echo "Rebooting..."
33			reboot
34			echo "Reboot failed; help!"
35			stop_boot
36			;;
37		8)
38			echo "Automatic file system check failed; help!"
39			stop_boot
40			;;
41		12)
42			echo "Boot interrupted."
43			stop_boot
44			;;
45		130)
46			stop_boot
47			;;
48		*)
49			echo "Unknown error; help!"
50			stop_boot
51			;;
52		esac
53	fi
54}
55
56load_rc_config $name
57run_rc_command "$1"
58