Date: Sun, 18 Oct 1998 14:12:30 -0700 From: David Greenman <dg@root.com> To: Terry Lambert <tlambert@primenet.com> 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 Message-ID: <199810182112.OAA06041@implode.root.com> In-Reply-To: Your message of "Sun, 18 Oct 1998 20:48:29 -0000." <199810182048.NAA10205@usr07.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810182112.OAA06041>
