Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Apr 1997 18:11:13 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Tor Egge <Tor.Egge@idi.ntnu.no>
Cc:        terry@lambert.org, dg@root.com, ponds!rivers@dg-rtp.dg.com, freebsd-hackers@freebsd.org
Subject:   Re: kern/3184: vnodes are used after they are freed. (dup alloc?)
Message-ID:  <Pine.BSF.3.95q.970405181043.8538K-100000@herring.nlsystems.com>
In-Reply-To: <199704051654.SAA01155@pat.idt.unit.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 5 Apr 1997, Tor Egge wrote:

> > I know about this problem.  Unfortunately the only way of fixing it is
> > probably to keep private pools of vnodes for each filesystem (which Terry
> > has been badgering me about for *years*).  It might happen but it is a
> > fair amount of work.  For the moment, I will settle with a system which is
> > stable, even it does hang when a server fails.
> 
> Two other ways:
> 
>   - Let getnewvnode call VOP_ISLOCKED and skip locked nodes on the 
>     so-called free list. 
> 
>   - Delay putting vnodes onto the so-called free list until
>     VOP_INACTIVE has been called, and use a flag to indicate that a
>     vnode is not on the so-called free list even when v_usecount is
>     0. Add needed checks where the code currently assumes that
>     v_usecount==0 means that the vnode is on the so-called free list.

I think I prefer the first alternative, because it seems simpler.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 951 1891




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.970405181043.8538K-100000>