Revert "Revert "fsck: add the ability to specify mount points to check""
This reverts commit 5a3599df8a
.
After review, I am bringing this back to the tree.
This commit is contained in:
parent
76fec58633
commit
815952a65a
@ -13,6 +13,13 @@
|
|||||||
#fsck_passno=">1"
|
#fsck_passno=">1"
|
||||||
#fsck_passno="<2"
|
#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
|
# 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.
|
# it may be advisable to skip this when running on battery.
|
||||||
# WARNING: Do not turn this off if you have any JFS partitions.
|
# WARNING: Do not turn this off if you have any JFS partitions.
|
||||||
|
@ -48,8 +48,13 @@ start()
|
|||||||
|
|
||||||
if [ -n "$fsck_passno" ]; then
|
if [ -n "$fsck_passno" ]; then
|
||||||
check_extra="[passno $fsck_passno] $check_extra"
|
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
|
fi
|
||||||
ebegin "Checking local filesystems $check_extra"
|
ebegin "Checking local filesystems $check_extra"
|
||||||
|
# Append passno mounts
|
||||||
for p in $fsck_passno; do
|
for p in $fsck_passno; do
|
||||||
local IFS="$_IFS"
|
local IFS="$_IFS"
|
||||||
case "$p" in
|
case "$p" in
|
||||||
@ -58,10 +63,16 @@ start()
|
|||||||
set -- "$@" $(fstabinfo --passno "$p")
|
set -- "$@" $(fstabinfo --passno "$p")
|
||||||
unset IFS
|
unset IFS
|
||||||
done
|
done
|
||||||
|
# Append custom mounts
|
||||||
|
for m in $fsck_mnt ; do
|
||||||
|
local IFS="$_IFS"
|
||||||
|
set -- "$@" "$m"
|
||||||
|
unset IFS
|
||||||
|
done
|
||||||
|
|
||||||
if [ "$RC_UNAME" = Linux ]; then
|
if [ "$RC_UNAME" = Linux ]; then
|
||||||
fsck_opts="$fsck_opts -C0 -T"
|
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}
|
fsck_args=${fsck_args--A -p}
|
||||||
if echo 2>/dev/null >/.test.$$; then
|
if echo 2>/dev/null >/.test.$$; then
|
||||||
rm -f /.test.$$
|
rm -f /.test.$$
|
||||||
|
Loading…
Reference in New Issue
Block a user