diff options
author | Tom Gundersen <teg@jklm.no> | 2012-03-17 11:12:55 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2012-03-17 11:12:55 +0100 |
commit | 28ec5b76ca5cbb53ec9d5de73749dbe76db7611a (patch) | |
tree | 348487f6793990154e1e7aeeb10fe4e6c6ef9bf5 | |
parent | e3050bd87ec873bc4ac1dc21c42c7abd02c3b408 (diff) |
fsck: move FORCEFSCK/FASTBOOT logic to fsck_all
Avoid global variables, and make things clearer.
Signed-off-by: Tom Gundersen <teg@jklm.no>
-rw-r--r-- | functions | 6 | ||||
-rwxr-xr-x | rc.sysinit | 29 |
2 files changed, 18 insertions, 17 deletions
@@ -428,6 +428,12 @@ NETFS="nfs,nfs4,smbfs,cifs,codafs,ncpfs,shfs,fuse,fuseblk,glusterfs,davfs,fuse.g # Check local filesystems fsck_all() { + [[ -f /forcefsck ]] || in_array forcefsck $(< /proc/cmdline) && FORCEFSCK="-f" + + if [[ ! -n $FORCEFSCK ]] && { [[ -f /fastboot ]] || in_array fastboot $(< /proc/cmdline); }; then + return + fi + if [[ -e /run/initramfs/root-fsck ]]; then IGNORE_MOUNTED="-M" fi @@ -176,24 +176,19 @@ if [[ -f /etc/crypttab && $CS ]] && grep -q ^[^#] /etc/crypttab; then fi # Check filesystems -[[ -f /forcefsck ]] || in_array forcefsck $(< /proc/cmdline) && FORCEFSCK="-f" -declare -r FORCEFSCK - -if [[ -n $FORCEFSCK ]] || { [[ ! -f /fastboot ]] && ! in_array fastboot $(< /proc/cmdline); }; then - run_hook sysinit_prefsck - if [[ -x $(type -P fsck) ]]; then - stat_busy "Checking Filesystems" - fsck_all >|"${FSCK_OUT:-/dev/stdout}" 2>|"${FSCK_ERR:-/dev/stdout}" - declare -r fsckret=$? - (( fsckret <= 1 )) && stat_done || stat_fail - else - declare -r fsckret=0 - fi - run_hook sysinit_postfsck - - # Single-user login and/or automatic reboot if needed - fsck_reboot $fsckret +run_hook sysinit_prefsck +if [[ -x $(type -P fsck) ]]; then + stat_busy "Checking Filesystems" + fsck_all >|"${FSCK_OUT:-/dev/stdout}" 2>|"${FSCK_ERR:-/dev/stdout}" + declare -r fsckret=$? + (( fsckret <= 1 )) && stat_done || stat_fail +else + declare -r fsckret=0 fi +run_hook sysinit_postfsck + +# Single-user login and/or automatic reboot if needed +fsck_reboot $fsckret status "Remounting Root" \ mount -o remount / |