Skip site navigation (1)Skip section navigation (2)
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>