fsck revision 298514
178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $FreeBSD: head/etc/rc.d/fsck 298514 2016-04-23 16:10:54Z lme $ 478344Sobrien# 578344Sobrien 678344Sobrien# PROVIDE: fsck 7252310Shrs# REQUIRE: swap 8136224Smtm# KEYWORD: nojail 978344Sobrien 1078344Sobrien. /etc/rc.subr 1178344Sobrien 1278344Sobrienname="fsck" 13298514Slmedesc="Run file system checks" 1478344Sobrienstart_cmd="fsck_start" 1578344Sobrienstop_cmd=":" 1678344Sobrien 1778344Sobrienfsck_start() 1878344Sobrien{ 1998184Sgordon if [ "$autoboot" = no ]; then 2078344Sobrien echo "Fast boot: skipping disk checks." 21126862Skientzle elif [ ! -r /etc/fstab ]; then 22126862Skientzle echo "Warning! No /etc/fstab: skipping disk checks." 2378344Sobrien elif [ "$autoboot" = yes ]; then 24289186Svangyzen # During fsck ignore SIGQUIT 2578344Sobrien trap : 3 2678344Sobrien 27197947Sdougb check_startmsgs && echo "Starting file system checks:" 28124618Smtm if checkyesno background_fsck; then 29124618Smtm fsck -F -p 30124618Smtm else 3198184Sgordon fsck -p 32124618Smtm fi 3398184Sgordon 3478344Sobrien case $? in 3578344Sobrien 0) 3678344Sobrien ;; 3778344Sobrien 2) 3878344Sobrien stop_boot 3978344Sobrien ;; 4078344Sobrien 4) 4178344Sobrien echo "Rebooting..." 4278344Sobrien reboot 4378344Sobrien echo "Reboot failed; help!" 4478344Sobrien stop_boot 4578344Sobrien ;; 4678344Sobrien 8) 4798184Sgordon if checkyesno fsck_y_enable; then 48193944Savg echo "File system preen failed, trying fsck -y ${fsck_y_flags}" 49193944Savg fsck -y ${fsck_y_flags} 5098184Sgordon case $? in 5198184Sgordon 0) 5298184Sgordon ;; 5398184Sgordon *) 5498184Sgordon echo "Automatic file system check failed; help!" 5598184Sgordon stop_boot 5698184Sgordon ;; 5798184Sgordon esac 5898184Sgordon else 5998184Sgordon echo "Automatic file system check failed; help!" 6098184Sgordon stop_boot 6198184Sgordon fi 6298184Sgordon ;; 6378344Sobrien 12) 6478344Sobrien echo "Boot interrupted." 6578344Sobrien stop_boot 6678344Sobrien ;; 6778344Sobrien 130) 6878344Sobrien stop_boot 6978344Sobrien ;; 7078344Sobrien *) 7178344Sobrien echo "Unknown error; help!" 7278344Sobrien stop_boot 7378344Sobrien ;; 7478344Sobrien esac 7578344Sobrien fi 7678344Sobrien} 7778344Sobrien 7878344Sobrienload_rc_config $name 7978344Sobrienrun_rc_command "$1" 80