fsck_root revision 1.3
11.1Sjoerg#!/bin/sh
21.1Sjoerg#
31.3Schristos# $NetBSD: fsck_root,v 1.3 2009/07/10 20:02:21 christos Exp $
41.1Sjoerg#
51.1Sjoerg
61.1Sjoerg# PROVIDE: fsck_root
71.1Sjoerg
81.1Sjoerg$_rc_subr_loaded . /etc/rc.subr
91.1Sjoerg
101.1Sjoergname="fsck_root"
111.1Sjoergstart_cmd="fsck_root_start"
121.1Sjoergstop_cmd=":"
131.2Sapbfstab_file=/etc/fstab
141.1Sjoerg
151.1Sjoergfsck_root_start()
161.1Sjoerg{
171.1Sjoerg	if [ -e /fastboot ]; then
181.1Sjoerg		echo "Fast boot: skipping disk checks."
191.1Sjoerg		return
201.1Sjoerg	fi
211.1Sjoerg	trap : 2 		# Ignore SIGINT, SIGQUIT, so we
221.1Sjoerg	trap : 3		# enter single-user mode on failure.
231.1Sjoerg
241.2Sapb	# Do nothing if root file system has fs_passno=0 in /etc/fstab.
251.2Sapb	while read fs_spec fs_file fs_vfstype fs_mntops fs_freq fs_passno
261.2Sapb	do
271.2Sapb		case "${fs_spec}:${fs_file}:${fs_passno}" in
281.2Sapb		\#*|'':*)
291.2Sapb			continue # skip comment or blank line
301.2Sapb			;;
311.2Sapb		*:/:0)
321.2Sapb			echo "Not checking /: fs_passno = 0 in ${fstab_file}"
331.2Sapb			return
341.2Sapb			;;
351.3Schristos		*:/:*)	case "${fs_spec}" in
361.3Schristos			*:*)
371.3Schristos				echo "Not checking /: nfs mounted"
381.3Schristos				return
391.3Schristos				;;
401.3Schristos			esac
411.2Sapb			;;
421.2Sapb		esac
431.2Sapb	done <"${fstab_file}"
441.2Sapb
451.1Sjoerg	echo "Starting root file system check:"
461.1Sjoerg	fsck $fsck_flags /
471.3Schristos	handle_fsck_error "$?"
481.1Sjoerg}
491.1Sjoerg
501.1Sjoergload_rc_config $name
511.1Sjoergrun_rc_command "$1"
52