fsck revision 289186
184053Sbrooks#!/bin/sh 284053Sbrooks# 3139823Simp# $FreeBSD: head/etc/rc.d/fsck 289186 2015-10-12 14:23:10Z vangyzen $ 4139823Simp# 5139823Simp 684053Sbrooks# PROVIDE: fsck 784053Sbrooks# REQUIRE: swap 884053Sbrooks# KEYWORD: nojail 984053Sbrooks 1084053Sbrooks. /etc/rc.subr 1184053Sbrooks 1284053Sbrooksname="fsck" 1384053Sbrooksstart_cmd="fsck_start" 1484053Sbrooksstop_cmd=":" 1584053Sbrooks 1684053Sbrooksfsck_start() 1784053Sbrooks{ 1884053Sbrooks if [ "$autoboot" = no ]; then 1984053Sbrooks echo "Fast boot: skipping disk checks." 2084053Sbrooks elif [ ! -r /etc/fstab ]; then 2184053Sbrooks echo "Warning! No /etc/fstab: skipping disk checks." 2284053Sbrooks elif [ "$autoboot" = yes ]; then 2384053Sbrooks # During fsck ignore SIGQUIT 2484053Sbrooks trap : 3 2584053Sbrooks 2684053Sbrooks check_startmsgs && echo "Starting file system checks:" 2784053Sbrooks if checkyesno background_fsck; then 2884053Sbrooks fsck -F -p 2984053Sbrooks else 3084053Sbrooks fsck -p 3184053Sbrooks fi 3284053Sbrooks 3384053Sbrooks case $? in 3484053Sbrooks 0) 3584053Sbrooks ;; 3684053Sbrooks 2) 3784053Sbrooks stop_boot 3884053Sbrooks ;; 3984053Sbrooks 4) 4084053Sbrooks echo "Rebooting..." 4184053Sbrooks reboot 4284053Sbrooks echo "Reboot failed; help!" 4384053Sbrooks stop_boot 4484053Sbrooks ;; 4584053Sbrooks 8) 4684053Sbrooks if checkyesno fsck_y_enable; then 4784053Sbrooks echo "File system preen failed, trying fsck -y ${fsck_y_flags}" 4884053Sbrooks fsck -y ${fsck_y_flags} 4984053Sbrooks case $? in 5084053Sbrooks 0) 5184053Sbrooks ;; 5284053Sbrooks *) 5384053Sbrooks echo "Automatic file system check failed; help!" 5484053Sbrooks stop_boot 5584053Sbrooks ;; 5684053Sbrooks esac 5784053Sbrooks else 5884053Sbrooks echo "Automatic file system check failed; help!" 5984053Sbrooks stop_boot 6084053Sbrooks fi 6184053Sbrooks ;; 6284053Sbrooks 12) 6384053Sbrooks echo "Boot interrupted." 6484053Sbrooks stop_boot 6584053Sbrooks ;; 6684053Sbrooks 130) 6784053Sbrooks stop_boot 6884053Sbrooks ;; 6984053Sbrooks *) 7084053Sbrooks echo "Unknown error; help!" 7184053Sbrooks stop_boot 7284053Sbrooks ;; 7384053Sbrooks esac 7484053Sbrooks fi 7584053Sbrooks} 7684053Sbrooks 7784053Sbrooksload_rc_config $name 7884053Sbrooksrun_rc_command "$1" 7984053Sbrooks