diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2011-11-06 13:58:48 -0600 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2011-11-06 13:58:48 -0600 |
commit | e3b39a677b535bc2676a939519906f6b2dbce6f4 (patch) | |
tree | 0755a005b7d7247c21e5e92eb552757583aa0826 | |
parent | 27713e3a41574c20336fcbf4fd3522d126045f16 (diff) |
fsck: add the ability to specify mount points to check
-rw-r--r-- | conf.d/fsck | 7 | ||||
-rw-r--r-- | init.d/fsck.in | 13 |
2 files changed, 19 insertions, 1 deletions
diff --git a/conf.d/fsck b/conf.d/fsck index 5d42c9d0..16aa5752 100644 --- a/conf.d/fsck +++ b/conf.d/fsck @@ -13,6 +13,13 @@ #fsck_passno=">1" #fsck_passno="<2" +# If passno is not enough granularity, you can also specify mountpoints to +# check. This should NOT be used for the default non-multiplexed fsck, or your +# system might not be checked. Additionally, it is mutually exclusive with +# the fsck_passno setting. +#fsck_mnt="" +#fsck_mnt="/home" + # Most modern fs's don't require a full fsck on boot, but for those that do # it may be advisable to skip this when running on battery. # WARNING: Do not turn this off if you have any JFS partitions. diff --git a/init.d/fsck.in b/init.d/fsck.in index 54537f61..03b2939e 100644 --- a/init.d/fsck.in +++ b/init.d/fsck.in @@ -48,8 +48,13 @@ start() 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 @@ -58,10 +63,16 @@ start() 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 fsck_opts="$fsck_opts -C0 -T" - if [ -z "$fsck_passno" ]; then + 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.$$ |