All pastes #2068517 Raw Edit

Miscellany

public text v1 · immutable
#2068517 ·published 2011-05-24 16:05 UTC
rendered paste body
#!/bin/sh
#
# $FreeBSD: src/etc/rc.d/fsck,v 1.11.2.1.4.1 2009/04/15 03:14:26 kensmith Exp $
#

# PROVIDE: fsck
# REQUIRE: localswap
# KEYWORD: nojail

. /etc/rc.subr

name="fsck"
start_cmd="fsck_start"
stop_cmd=":"

fsck_start()
{
        if [ "$autoboot" = no ]; then
                echo "Fast boot: skipping disk checks."
        elif [ ! -r /etc/fstab ]; then
                echo "Warning! No /etc/fstab: skipping disk checks."
        elif [ "$autoboot" = yes ]; then
                                        # During fsck ignore SIGQUIT
                trap : 3

                echo "Starting file system checks:"
                if checkyesno background_fsck; then
                        fsck -F -p
                else
                        fsck -p
                fi

                case $? in
                0)
                        ;;
                2)
                        stop_boot
                        ;;
                4)
                        echo "Rebooting..."
                        reboot
                        echo "Reboot failed; help!"
                        stop_boot
                        ;;
                8)
                        if checkyesno fsck_y_enable; then
                                echo "File system preen failed, trying fsck -y."
                                fsck -y
                                case $? in
                                0)
                                        ;;
                                *)
                                echo "Automatic file system check failed; help!"
                                        stop_boot
                                        ;;
                                esac
                        else
                                echo "Automatic file system check failed; help!"
                                stop_boot
                        fi
                        ;;
                12)
                        echo "Boot interrupted."
                        stop_boot
                        ;;
                130)
                        stop_boot
                        ;;
                *)
                        echo "Unknown error; help!"
                        stop_boot
                        ;;
                esac
        fi
}

load_rc_config $name
run_rc_command "$1"