tech-kern archive

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

Re: VOP_*LOCK* cleanup proposal



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 - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)


Home | Main Index | Thread Index | Old Index