fsck revision 1.2
11.1Slukem#!/bin/sh
21.1Slukem#
31.2Slukem# $NetBSD: fsck,v 1.2 2001/06/18 06:42:35 lukem Exp $
41.1Slukem#
51.1Slukem
61.1Slukem# PROVIDE: fsck
71.1Slukem# REQUIRE: localswap
81.1Slukem
91.1Slukem. /etc/rc.subr
101.1Slukem
111.1Slukemname="fsck"
121.1Slukemstart_cmd="fsck_start"
131.1Slukemstop_cmd=":"
141.1Slukem
151.1Slukemstop_boot()
161.1Slukem{
171.1Slukem	#	Terminate the process (which may include the parent /etc/rc)
181.1Slukem	#	if booting directly to multiuser mode.
191.1Slukem	#
201.1Slukem	if [ "$autoboot" = yes ]; then
211.1Slukem		kill -TERM $$
221.1Slukem	fi
231.1Slukem	exit 1
241.1Slukem}
251.1Slukem
261.1Slukemfsck_start()
271.1Slukem{
281.1Slukem	if [ -e /fastboot ]; then
291.1Slukem		echo "Fast boot: skipping disk checks."
301.2Slukem	else
311.1Slukem					# During fsck ignore SIGQUIT
321.1Slukem		trap : 3
331.1Slukem
341.2Slukem		echo "Starting file system checks:"
351.1Slukem		fsck -p
361.1Slukem		case $? in
371.1Slukem		0)
381.1Slukem			;;
391.1Slukem		2)
401.1Slukem			stop_boot
411.1Slukem			;;
421.1Slukem		4)
431.1Slukem			echo "Rebooting..."
441.1Slukem			reboot
451.1Slukem			echo "Reboot failed; help!"
461.1Slukem			stop_boot
471.1Slukem			;;
481.1Slukem		8)
491.1Slukem			echo "Automatic file system check failed; help!"
501.1Slukem			stop_boot
511.1Slukem			;;
521.1Slukem		12)
531.1Slukem			echo "Boot interrupted."
541.1Slukem			stop_boot
551.1Slukem			;;
561.1Slukem		130)
571.1Slukem			stop_boot
581.1Slukem			;;
591.1Slukem		*)
601.1Slukem			echo "Unknown error; help!"
611.1Slukem			stop_boot
621.1Slukem			;;
631.1Slukem		esac
641.1Slukem	fi
651.1Slukem}
661.1Slukem
671.1Slukemload_rc_config $name
681.1Slukemrun_rc_command "$1"
69