fsck revision 252310
178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $FreeBSD: head/etc/rc.d/fsck 252310 2013-06-27 18:28:45Z hrs $ 478344Sobrien# 578344Sobrien 678344Sobrien# PROVIDE: fsck 7252310Shrs# REQUIRE: swap 8136224Smtm# KEYWORD: nojail 978344Sobrien 1078344Sobrien. /etc/rc.subr 1178344Sobrien 1278344Sobrienname="fsck" 1378344Sobrienstart_cmd="fsck_start" 1478344Sobrienstop_cmd=":" 1578344Sobrien 1678344Sobrienfsck_start() 1778344Sobrien{ 1898184Sgordon if [ "$autoboot" = no ]; then 1978344Sobrien echo "Fast boot: skipping disk checks." 20126862Skientzle elif [ ! -r /etc/fstab ]; then 21126862Skientzle echo "Warning! No /etc/fstab: skipping disk checks." 2278344Sobrien elif [ "$autoboot" = yes ]; then 2378344Sobrien # During fsck ignore SIGQUIT 2478344Sobrien trap : 3 2578344Sobrien 26197947Sdougb check_startmsgs && echo "Starting file system checks:" 27124618Smtm if checkyesno background_fsck; then 28124618Smtm fsck -F -p 29124618Smtm else 3098184Sgordon fsck -p 31124618Smtm fi 3298184Sgordon 3378344Sobrien case $? in 3478344Sobrien 0) 3578344Sobrien ;; 3678344Sobrien 2) 3778344Sobrien stop_boot 3878344Sobrien ;; 3978344Sobrien 4) 4078344Sobrien echo "Rebooting..." 4178344Sobrien reboot 4278344Sobrien echo "Reboot failed; help!" 4378344Sobrien stop_boot 4478344Sobrien ;; 4578344Sobrien 8) 4698184Sgordon if checkyesno fsck_y_enable; then 47193944Savg echo "File system preen failed, trying fsck -y ${fsck_y_flags}" 48193944Savg fsck -y ${fsck_y_flags} 4998184Sgordon case $? in 5098184Sgordon 0) 5198184Sgordon ;; 5298184Sgordon *) 5398184Sgordon echo "Automatic file system check failed; help!" 5498184Sgordon stop_boot 5598184Sgordon ;; 5698184Sgordon esac 5798184Sgordon else 5898184Sgordon echo "Automatic file system check failed; help!" 5998184Sgordon stop_boot 6098184Sgordon fi 6198184Sgordon ;; 6278344Sobrien 12) 6378344Sobrien echo "Boot interrupted." 6478344Sobrien stop_boot 6578344Sobrien ;; 6678344Sobrien 130) 6778344Sobrien stop_boot 6878344Sobrien ;; 6978344Sobrien *) 7078344Sobrien echo "Unknown error; help!" 7178344Sobrien stop_boot 7278344Sobrien ;; 7378344Sobrien esac 7478344Sobrien fi 7578344Sobrien} 7678344Sobrien 7778344Sobrienload_rc_config $name 7878344Sobrienrun_rc_command "$1" 79