Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Jun 1997 16:57:19 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        John Polstra <jdp@polstra.com>
Cc:        freebsd-bugs@hub.freebsd.org
Subject:   Re: kern/3771 NFS hangs when writing to local FS re-mounted via NFS 
Message-ID:  <Pine.BSF.3.95q.970604165410.394F-100000@herring.nlsystems.com>
In-Reply-To: <199706041546.IAA09459@austin.polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 4 Jun 1997, John Polstra wrote:

> > There is a deadly embrace style deadlock when you loopback mount
> > a filesystem using NFSv3.  I don't plan to try and fix this since
> > I don't think loopback mounts are useful other than for trivial
> > testing.
> 
> What is it about the loopback interface that's different?  This
> affects CVSup to localhost too (with a deadlock), and that is
> sometimes useful.  I can't see how it could happen unless the
> loopback interface is failing to behave like a stream transport
> is supposed to behave.

The deadly embrace is in NFS.  The sequence of events is something like
this:

	NFS client allocates a buffer and fills it with data
	NFS client does a write rpc and locks the socket to read the reply
	NFS server gets the write rpc and starts to process it
	NFS server allocates a buffer to write the data
	VFS runs out of clean buffers and picks a dirty one
		(B_NEEDCOMMIT|B_DELWRI)
	VFS calls NFS client to clean the buffer
	NFS client tries to do a commit rpc but hangs because the socket
	is locked

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 951 1891
					Fax:   +44 181 381 1039




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.970604165410.394F-100000>