98usrmount/mount-usr.sh: honor fs_passno in /etc/fstab

If the sixth field in /etc/fstab is "0" or not present for /usr, do not
run fsck.

This prevents fsck for nfs /usr also.
master
Harald Hoyer 2012-02-20 17:27:32 +01:00
parent 7e2bca4820
commit cd9592385d
1 changed files with 8 additions and 4 deletions

View File

@ -7,9 +7,9 @@ type fsck_single >/dev/null 2>&1 || . /lib/fs-lib.sh


mount_usr() mount_usr()
{ {
local _dev _mp _fs _opts _rest _usr_found _ret local _dev _mp _fs _opts _rest _usr_found _ret _freq _passno
# check, if we have to mount the /usr filesystem # check, if we have to mount the /usr filesystem
while read _dev _mp _fs _opts _rest; do while read _dev _mp _fs _opts _freq _passno; do
if [ "$_mp" = "/usr" ]; then if [ "$_mp" = "/usr" ]; then
case "$_dev" in case "$_dev" in
LABEL=*) LABEL=*)
@ -21,7 +21,7 @@ mount_usr()
_dev="/dev/disk/by-uuid/${_dev#UUID=}" _dev="/dev/disk/by-uuid/${_dev#UUID=}"
;; ;;
esac esac
echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_rest" echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_freq $_passno"
_usr_found="1" _usr_found="1"
break break
fi fi
@ -29,7 +29,11 @@ mount_usr()


if [ "x$_usr_found" != "x" ]; then if [ "x$_usr_found" != "x" ]; then
# we have to mount /usr # we have to mount /usr
fsck_single "$_dev" "$_fs" if [ "x0" != "x${_passno:-0}" ]; then
fsck_single "$_dev" "$_fs"
else
:
fi
_ret=$? _ret=$?
echo $_ret >/run/initramfs/usr-fsck echo $_ret >/run/initramfs/usr-fsck
if [ $_ret -ne 255 ]; then if [ $_ret -ne 255 ]; then