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()
{
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
while read _dev _mp _fs _opts _rest; do
while read _dev _mp _fs _opts _freq _passno; do
if [ "$_mp" = "/usr" ]; then
case "$_dev" in
LABEL=*)
@ -21,7 +21,7 @@ mount_usr()
_dev="/dev/disk/by-uuid/${_dev#UUID=}"
;;
esac
echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_rest"
echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_freq $_passno"
_usr_found="1"
break
fi
@ -29,7 +29,11 @@ mount_usr()

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