Skip site navigation (1)Skip section navigation (2)
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>