Subject: kern/2797: NFS unmount during halt tries RPC and panics
To: None <gnats-bugs@gnats.netbsd.org>
From: Gordon W. Ross <gwr@mc.com>
List: netbsd-bugs
Date: 10/02/1996 15:05:19
>Number:         2797
>Category:       kern
>Synopsis:       NFS unmount during halt tries RPC and panics
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct  2 12:20:01 1996
>Last-Modified:
>Originator:     Gordon W. Ross
>Organization:
NetBSD
>Release:        NetBSD-1.2_BETA
>Environment:
	NetBSD 1.2_BETA (GENERIC) #88: Tue Aug 27 18:49:30 EDT 1996
	gwr@bach:/play/gwr/netbsd/build/sys/arch/sun3/compile/GENERIC
	[ I believe this problem is common to all architectures. ]

>Description:
	If I have a network failure and then try to halt the machine,
	it either hangs or panics when it tries to unmount NFS mounts.
	The hang happens if I just disconnect the network and then try
	to halt the machine.  The panic happens if I "ifconfig down"
	the network interface and then halt (before NFS unmount).
	The underlying problem in both cases appears to be that the
	NFS unmount operation is trying to do RPC over the wire when
	it should not.  (At least, it should not try RPC when the
	unmount has the "force" flag, and when the network is down.)

>How-To-Repeat:
	To make it hang:
		mount server:/some/path /mnt
		# disconnect the network cable
		halt
	To make it panic:
		mount server:/some/path /mnt
		# disconnect the network cable
		ifconfig if? down	# the interface
		halt

>Fix:
	No specific fix yet.   In general, the "force" flag should
	be careful to avoid trying new RPC requests, and if it must
	initiate new RPC requests (i.e. pending write) then it must
	make sure they have reasonably short timeouts and are not
	just retried forever.  (i.e. "umount -f" could imply "soft")

>Audit-Trail:
>Unformatted: