Date: Thu, 17 May 2001 06:25:00 -0700 (PDT) From: B.Candler@pobox.com To: freebsd-gnats-submit@FreeBSD.org Subject: conf/27408: rc.network hangs at rpc.umntall if stale NFS mounts exist in /var/db/mounttab Message-ID: <200105171325.f4HDP0p62556@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 27408
>Category: conf
>Synopsis: rc.network hangs at rpc.umntall if stale NFS mounts exist in /var/db/mounttab
>Confidential: no
>Severity: critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu May 17 06:30:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Brian Candler
>Release: FreeBSD 4.2-RELEASE
>Organization:
>Environment:
>Description:
FreeBSD-4.2 preserves NFS state across reboots in /var/db. I had a
classful of machines which had temporarily mounted an NFS server - there
was no entry in /etc/fstab. However once these machines had been powered
down, moved, renumbered and rebooted (and the NFS servers gone), I found
they hung during bootup.
The problem was traced to the following in /etc/rc.network:
if [ -f /var/db/mounttab ]; then
rpc.umntall -k
fi
Each of the workstations was then in a badly broken state, which even
a further reboot could not repair. To fix them required:
- boot into single-user mode
- fsck -y /var
- mount /var
- rm /var/db/mounttab
- fsck -y <all other partitions>
on all machines.
>How-To-Repeat:
Mount an NFS server just using 'mount' at the command line (no entry
in /etc/fstab).
Power off both the client and the NFS server.
Power up the client. Watch it hang.
>Fix:
Not sure. Perhaps sensible (short) timeouts. Perhaps rpc.umntall should
remove mounttab entries _before_ attempting to contact the servers -
then at least a second reboot would clear the problem.
RFC1813 says of the UMNTALL call:
"since this procedure
is generally implemented using broadcast RPC, it is only
of limited usefullness."
I know very little about NFS, but personally I don't think this sort
of state should be maintained across a reboot at all.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105171325.f4HDP0p62556>
