From owner-freebsd-bugs Wed Jun 4 08:57:22 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id IAA06455 for bugs-outgoing; Wed, 4 Jun 1997 08:57:22 -0700 (PDT) Received: from nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id IAA06449 for ; Wed, 4 Jun 1997 08:57:15 -0700 (PDT) Received: from herring.nlsystems.com (herring.nlsystems.com [10.0.0.2]) by nlsystems.com (8.8.5/8.8.5) with SMTP id QAA14232; Wed, 4 Jun 1997 16:57:19 +0100 (BST) Date: Wed, 4 Jun 1997 16:57:19 +0100 (BST) From: Doug Rabson To: John Polstra cc: freebsd-bugs@hub.freebsd.org Subject: Re: kern/3771 NFS hangs when writing to local FS re-mounted via NFS In-Reply-To: <199706041546.IAA09459@austin.polstra.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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