fsck revision 1.3
11.1Slukem#!/bin/sh 21.1Slukem# 31.3Schristos# $NetBSD: fsck,v 1.3 2003/10/15 17:38:04 christos 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.3Schristosif [ -z "$fsck_flags" ] 161.3Schristosthen 171.3Schristos fsck_flags="-p" 181.3Schristosfi 191.3Schristos 201.1Slukemstop_boot() 211.1Slukem{ 221.1Slukem # Terminate the process (which may include the parent /etc/rc) 231.1Slukem # if booting directly to multiuser mode. 241.1Slukem # 251.1Slukem if [ "$autoboot" = yes ]; then 261.1Slukem kill -TERM $$ 271.1Slukem fi 281.1Slukem exit 1 291.1Slukem} 301.1Slukem 311.1Slukemfsck_start() 321.1Slukem{ 331.1Slukem if [ -e /fastboot ]; then 341.1Slukem echo "Fast boot: skipping disk checks." 351.2Slukem else 361.1Slukem # During fsck ignore SIGQUIT 371.1Slukem trap : 3 381.1Slukem 391.2Slukem echo "Starting file system checks:" 401.3Schristos fsck $fsck_flags 411.1Slukem case $? in 421.1Slukem 0) 431.1Slukem ;; 441.1Slukem 2) 451.1Slukem stop_boot 461.1Slukem ;; 471.1Slukem 4) 481.1Slukem echo "Rebooting..." 491.1Slukem reboot 501.1Slukem echo "Reboot failed; help!" 511.1Slukem stop_boot 521.1Slukem ;; 531.1Slukem 8) 541.1Slukem echo "Automatic file system check failed; help!" 551.1Slukem stop_boot 561.1Slukem ;; 571.1Slukem 12) 581.1Slukem echo "Boot interrupted." 591.1Slukem stop_boot 601.1Slukem ;; 611.1Slukem 130) 621.1Slukem stop_boot 631.1Slukem ;; 641.1Slukem *) 651.1Slukem echo "Unknown error; help!" 661.1Slukem stop_boot 671.1Slukem ;; 681.1Slukem esac 691.1Slukem fi 701.1Slukem} 711.1Slukem 721.1Slukemload_rc_config $name 731.1Slukemrun_rc_command "$1" 74