Source-Changes-D archive

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

Re: CVS commit: src/sys/kern



On Tue Aug 17 2010 at 16:26:10 +0200, Juergen Hannken-Illjes wrote:
> > > > It's not obvious from your commit message what prevents it from gaining
> > > > a reference after the lock is dropped.
> > > 
> > > The interlock is taken before the freelist lock is dropped and vnodes on
> > > the free lists should never appear on other lists.
> > 
> > Not even the name cache?
> > 
> > (I can't remember off the top of my head, but IIRC there's something
> > sneaky about it)
> 
> Name cache does vtryget() then vget(). As the usecount is zero, vtryget()
> fails and vget() gets called with the interlock held and needs the freelist
> lock to proceed.
> 
> I still don't see a race here.

Ok, it wasn't clear what you meant by "other lists".

Your commit message makes sense now.


Home | Main Index | Thread Index | Old Index