| Summary: | rc.network hangs at rpc.umntall if stale NFS mounts exist in /var/db/mounttab | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Brian Candler <B.Candler> |
| Component: | conf | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.2-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->feedback There were a number of bugs in rpc.umntall that have been fixed recently, including a bug that prevented you from simply hitting ^C to let the boot process continue, and old entries weren't expired aas they should be. There are short timeouts set, but RPC calls require portmap lookups, and these seem to wait up to 60 seconds for a reply by default, so your machines probably would have booted after a delay of a few minutes. Is the corrected entry expiration and the ability to interrupt rpc.umntall an acceptable solution to this? State Changed From-To: feedback->closed Feedback timeout. |
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. 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. 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.