From owner-freebsd-current Sun Oct 18 14:12:46 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA09780 for freebsd-current-outgoing; Sun, 18 Oct 1998 14:12:46 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from implode.root.com (implode.root.com [198.145.90.17]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA09768 for ; Sun, 18 Oct 1998 14:12:40 -0700 (PDT) (envelope-from root@implode.root.com) Received: from implode.root.com (localhost [127.0.0.1]) by implode.root.com (8.8.5/8.8.5) with ESMTP id OAA06041; Sun, 18 Oct 1998 14:12:30 -0700 (PDT) Message-Id: <199810182112.OAA06041@implode.root.com> To: Terry Lambert cc: green@zone.syracuse.NET, grog@lemis.com, julian@whistle.com, mike@smith.net.au, bag@sinbin.demos.su, rock@cs.uni-sb.de, current@FreeBSD.ORG Subject: Re: -current NFS problem In-reply-to: Your message of "Sun, 18 Oct 1998 20:48:29 -0000." <199810182048.NAA10205@usr07.primenet.com> From: David Greenman Reply-To: dg@root.com Date: Sun, 18 Oct 1998 14:12:30 -0700 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >> Actually that's not true. I can't speak for all of the NFS implementations >> above, but at least in BSD/OS, it works only because they have warts all over >> the place to sidestep the problems with not having FS node locking. > >OK, after having spent several hours trying to see what you mean >here, I'm having a hard time understanding why locking the vnode >that holds the pointer to the nfsnode data is not an implicit lock >on the underlying nfsnode, just as it is for all other data that >the vnode references. Because there is no such thing as a "vnode lock", despite the terminology that we use in describing it. The lock state is stored in the attached fsnode, not in the vnode. For FFS, it is stored in a lock struct that is the first item in the in-core inode. In the special case of NFS, it's not stored at all. This means that VOP_LOCK()/VOP_UNLOCK() do nothing useful for NFS and this exposes all sorts of bugs in code that assumes that they do. -DG David Greenman Co-founder/Principal Architect, The FreeBSD Project To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message