On Tue, Jun 22, 2010 at 12:12:43PM +0000, Andrew Doran wrote:
> On Tue, Jun 22, 2010 at 10:52:13AM +0000, Andrew Doran wrote:
[snip]
> > There is another closely related item.  Strictly speaking, vget() should
> > never be called without holding v_interlock.  I had a scan of the places
> > we are not specifying LK_INTERLOCK and they fall into two categories:
> > 
> > - Should be using v_interlock + vget() but is racy.  vnode can be
> >   reincarnated with a different identity, or freed or...
> > 
> > - Abusing vget() to mean vref() + VOP_LOCK().  At these points the
> >   vnode's identity isn't going to change, so vget() isn't appropriate.
> 
> So what I am saying is by applying your changes and fixing the uses of
> vget(), we no longer have a need for LK_INTERLOCK.

Already had it on my todo list.  Last time I looked it were 16 calls to
vget() missing LK_INTERLOCK and two calls from vrelel() to vn_lock() with
LK_INTERLOCK set.

-- 
Juergen Hannken-Illjes - hann...@eis.cs.tu-bs.de - TU Braunschweig (Germany)

Reply via email to