diff options
Diffstat (limited to 'init.d/fsck.in')
| -rw-r--r-- | init.d/fsck.in | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/init.d/fsck.in b/init.d/fsck.in deleted file mode 100644 index d3b66078..00000000 --- a/init.d/fsck.in +++ /dev/null @@ -1,123 +0,0 @@ -#!@SBINDIR@/openrc-run -# Copyright (c) 2007-2009 Roy Marples <roy@marples.name> -# Released under the 2-clause BSD license. - -description="Check and repair filesystems according to /etc/fstab" -_IFS=" -" - -depend() -{ - use dev clock modules - keyword -jail -openvz -prefix -timeout -vserver -lxc -uml -} - -_abort() { - rc-abort - return 1 -} - -# We should only reboot when first booting -_reboot() { - if [ "$RC_RUNLEVEL" = "$RC_BOOTLEVEL" ]; then - reboot "$@" - _abort || return 1 - fi -} - -_forcefsck() -{ - [ -e /forcefsck ] || get_bootparam forcefsck -} - -start() -{ - local fsck_opts= p= check_extra= - - if [ -e /fastboot ]; then - ewarn "Skipping fsck due to /fastboot" - return 0 - fi - if _forcefsck; then - fsck_opts="$fsck_opts -f" - check_extra="(check forced)" - elif ! yesno ${fsck_on_battery:-YES} && ! on_ac_power; then - ewarn "Skipping fsck due to not being on AC power" - return 0 - fi - - if [ -n "$fsck_passno" ]; then - check_extra="[passno $fsck_passno] $check_extra" - if [ -n "$fsck_mnt" ]; then - eerror "Only 1 of fsck_passno and fsck_mnt must be set!" - return 1 - fi - fi - ebegin "Checking local filesystems $check_extra" - # Append passno mounts - for p in $fsck_passno; do - local IFS="$_IFS" - case "$p" in - [0-9]*) p="=$p";; - esac - set -- "$@" $(fstabinfo --passno "$p") - unset IFS - done - # Append custom mounts - for m in $fsck_mnt ; do - local IFS="$_IFS" - set -- "$@" "$m" - unset IFS - done - - if [ "$RC_UNAME" = Linux ]; then - local skiptypes - skiptypes=$(printf 'no%s,' ${net_fs_list} ${extra_net_fs_list}) - [ "${skiptypes}" = "no," ] && skiptypes="" - fsck_opts="$fsck_opts -C0 -T -t ${skiptypes}noopts=_netdev" - if [ -z "$fsck_passno" -a -z "$fsck_mnt" ]; then - fsck_args=${fsck_args:--A -p} - if echo 2>/dev/null >/.test.$$; then - rm -f /.test.$$ - fsck_opts="$fsck_opts -R" - fi - fi - fi - - trap : INT QUIT - fsck ${fsck_args:--p} $fsck_opts "$@" - case $? in - 0) eend 0; return 0;; - 1) ewend 1 "Filesystems repaired"; return 0;; - 2|3) if [ "$RC_UNAME" = Linux ]; then - ewend 1 "Filesystems repaired, but reboot needed" - _reboot -f - else - ewend 1 "Filesystems still have errors;" \ - "manual fsck required" - _abort - fi;; - 4) if [ "$RC_UNAME" = Linux ]; then - ewend 1 "Fileystem errors left uncorrected, aborting" - _abort - else - ewend 1 "Filesystems repaired, but reboot needed" - _reboot - fi;; - 8) ewend 1 "Operational error"; return 0;; - 12) ewend 1 "fsck interrupted";; - *) eend 2 "Filesystems couldn't be fixed";; - esac - _abort || return 1 -} - -stop() -{ - # Fake function so we always shutdown correctly. - _abort() { return 0; } - _reboot() { return 0; } - _forcefsck() { return 1; } - - yesno $fsck_shutdown && start - return 0 -} |
