From owner-freebsd-bugs Sat Aug 24 10: 7:40 2002 Delivered-To: freebsd-bugs@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A777C37B400; Sat, 24 Aug 2002 10:07:37 -0700 (PDT) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 41C3443E42; Sat, 24 Aug 2002 10:07:37 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.5/8.12.4) with ESMTP id g7OH7adc013423; Sat, 24 Aug 2002 10:07:36 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.5/8.12.4/Submit) id g7OH7aPj013422; Sat, 24 Aug 2002 10:07:36 -0700 (PDT) (envelope-from dillon) Date: Sat, 24 Aug 2002 10:07:36 -0700 (PDT) From: Matthew Dillon Message-Id: <200208241707.g7OH7aPj013422@apollo.backplane.com> To: Nate Lawson Cc: njl@FreeBSD.ORG, freebsd-bugs@FreeBSD.ORG Subject: Re: kern/41216: Get "NFS append race" error References: <200208240102.g7O12eeL087425@freefall.freebsd.org> Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org :Synopsis: Get "NFS append race" error : :Responsible-Changed-From-To: freebsd-bugs->dillon :Responsible-Changed-By: njl :Responsible-Changed-When: Fri Aug 23 17:59:59 PDT 2002 :Responsible-Changed-Why: :The code recovers from the race by updating the dirty end pointer to what :it should be. It may be difficult to prevent the race from occurring due :to bio locking complexities. Over to dillon to see if he wants to comment :or just punt. : :http://www.freebsd.org/cgi/query-pr.cgi?pr=41216 This is a long standing problem which I still haven't tracked down. As long as only one NFS client host is doing the appending this case is not supposed to occur at all because the vnode should be locked through the nfs_write() operation. Apparently the case does still occur though and I am not sure why. This is why the printf() is still in there. If multiple client hosts are appending to the same file then the case can definitely occur (it's a problem with the NFSv2/v3 protocol itself that is not fixable). -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message