Home | History | Annotate | Line # | Download | only in rc.d
fsck_root revision 1.4
      1  1.1     joerg #!/bin/sh
      2  1.1     joerg #
      3  1.4       mrg # $NetBSD: fsck_root,v 1.4 2010/02/16 02:46:02 mrg Exp $
      4  1.1     joerg #
      5  1.1     joerg 
      6  1.1     joerg # PROVIDE: fsck_root
      7  1.1     joerg 
      8  1.1     joerg $_rc_subr_loaded . /etc/rc.subr
      9  1.1     joerg 
     10  1.1     joerg name="fsck_root"
     11  1.1     joerg start_cmd="fsck_root_start"
     12  1.1     joerg stop_cmd=":"
     13  1.2       apb fstab_file=/etc/fstab
     14  1.1     joerg 
     15  1.1     joerg fsck_root_start()
     16  1.1     joerg {
     17  1.1     joerg 	if [ -e /fastboot ]; then
     18  1.1     joerg 		echo "Fast boot: skipping disk checks."
     19  1.1     joerg 		return
     20  1.1     joerg 	fi
     21  1.1     joerg 	trap : 2 		# Ignore SIGINT, SIGQUIT, so we
     22  1.1     joerg 	trap : 3		# enter single-user mode on failure.
     23  1.1     joerg 
     24  1.2       apb 	# Do nothing if root file system has fs_passno=0 in /etc/fstab.
     25  1.2       apb 	while read fs_spec fs_file fs_vfstype fs_mntops fs_freq fs_passno
     26  1.2       apb 	do
     27  1.2       apb 		case "${fs_spec}:${fs_file}:${fs_passno}" in
     28  1.2       apb 		\#*|'':*)
     29  1.2       apb 			continue # skip comment or blank line
     30  1.2       apb 			;;
     31  1.2       apb 		*:/:0)
     32  1.2       apb 			echo "Not checking /: fs_passno = 0 in ${fstab_file}"
     33  1.2       apb 			return
     34  1.2       apb 			;;
     35  1.3  christos 		*:/:*)	case "${fs_spec}" in
     36  1.3  christos 			*:*)
     37  1.3  christos 				echo "Not checking /: nfs mounted"
     38  1.3  christos 				return
     39  1.3  christos 				;;
     40  1.3  christos 			esac
     41  1.4       mrg 
     42  1.4       mrg 			echo "Starting root file system check:"
     43  1.4       mrg 			fsck $fsck_flags /
     44  1.4       mrg 			handle_fsck_error "$?"
     45  1.4       mrg 			return
     46  1.2       apb 			;;
     47  1.2       apb 		esac
     48  1.4       mrg 	done < "${fstab_file}"
     49  1.1     joerg }
     50  1.1     joerg 
     51  1.1     joerg load_rc_config $name
     52  1.1     joerg run_rc_command "$1"
     53