> On Wed, Jun 24, 2009 at 02:21:44PM +0000, YAMAMOTO Takashi wrote: >> Module Name: src >> Committed By: yamt >> Date: Wed Jun 24 14:21:44 UTC 2009 >> >> Modified Files: >> src/sys/kern [yamt-nfs-mp]: vfs_syscalls.c >> src/sys/nfs [yamt-nfs-mp]: nfs_vfsops.c nfs_vnops.c >> >> Log Message: >> lock vnode when calling VOP_GETATTR because there's no reasonable way for >> an implementation of VOP_GETATTR to prevent the vnode from being revoked. > > I've not looked at the specific code, but surely a reference count is enough? > Requiring callers to lock vnodes doesn't seem right to me - since it > is only likely to cause locking violations in layered fs. > > The fact that the caller has a reference to the vnode at all should > really be enough, surely??
do you mean vref? it doesn't prevent revoke(2). thus a filesystem can't access v_data safely. YAMAMOTO Takashi > > David > > -- > David Laight: da...@l8s.co.uk