On Sun Sep 20 2009 at 14:00:24 +0000, Manuel Bouyer wrote: > Module Name: src > Committed By: bouyer > Date: Sun Sep 20 14:00:24 UTC 2009 > > Modified Files: > src/sys/ufs/ufs: ufs_ihash.c > > Log Message: > PR kern/41147: race between nfsd and local rm > Note that the race also exists between 2 nfs client, one of them doing the rm. > In ufs_ihashget(), vget() can return a vnode that has been vclean'ed because > vget() can sleep. After vget returns, check that vp is still connected with > ip, and that ip still points to the inode we want. This fix the NULL > pointer dereference in ufs_fhtovp() I've been seeing on a NFS server.
Um, hold the phone. The whole point of vget() is to provide race-free access to the weak vnode reference held by the file system. Are you saying this does not hold anymore?