Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/nfs



hi,

> On Sun, May 10, 2009 at 05:18:26AM +0000, YAMAMOTO Takashi wrote:
>  > Module Name:       src
>  > Committed By:      yamt
>  > Date:              Sun May 10 05:18:26 UTC 2009
>  > 
>  > Modified Files:
>  >    src/sys/nfs: nfs_vnops.c
>  > 
>  > Log Message:
>  > nfs_lookup: vn_lock the vnode returned by cache_lookup_raw
>  > before feeding it to VOP_GETATTR.  it's necessary because the vnode might
>  > be being cleaned by getcleanvnode.
>  > 
>  > it's an instance of more general races between vnode reclaim and
>  > unlocked VOPs.  however, this one happens somewhat often because it can be
>  > triggered by getnewvnode rather than revoke.
> 
> This seems a bit odd; cache_lookup_raw returns a reference to the
> vnode, so the vnode shouldn't *be* getting reclaimed after that.
> 
> Or so I'd think. (?)

there is a race.  see PR/41374.
besides that, a vnode reference does not prevent revoke(2).

YAMAMOTO Takashi

> 
> -- 
> David A. Holland
> dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index