fsck: add the ability to specify mount points to check
This commit is contained in:
parent
27713e3a41
commit
e3b39a677b
@ -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.
|
||||
|
@ -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.$$
|
||||
|
Loading…
Reference in New Issue
Block a user