fsck_root revision 1.4
11.1Sjoerg#!/bin/sh 21.1Sjoerg# 31.4Smrg# $NetBSD: fsck_root,v 1.4 2010/02/16 02:46:02 mrg 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.4Smrg 421.4Smrg echo "Starting root file system check:" 431.4Smrg fsck $fsck_flags / 441.4Smrg handle_fsck_error "$?" 451.4Smrg return 461.2Sapb ;; 471.2Sapb esac 481.4Smrg done < "${fstab_file}" 491.1Sjoerg} 501.1Sjoerg 511.1Sjoergload_rc_config $name 521.1Sjoergrun_rc_command "$1" 53