Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src
On Mon, Jan 10, 2011 at 07:38:22PM +0100, Juergen Hannken-Illjes wrote:
> This is not a random change. Layered file systems take exactly one
> reference on the lower vnode. All references regarding layered
> vnodes are only taken on the layer vnode. So we get a bootom vnode
> that is active (we are working on it) while it may have just one
> reference. The upper (layer) vnode has the "valid" reference
> count.
>
> Now when VOP_REVOKE() goes down the stack it will revoke the lowest
> vnode but this vnode "looks" inactive. Adjusting the lower vnode
> refcount gets the (in respect to activity) right usecount on the
> lowest vnode while VOP_REVOKE() works on the lowest vnode.
As far as I can tell it only uses the usecount to decide whether the
vnode is still active or not, so adding 1 temporarily should be
sufficient if the goal is to have it not disappear.
OTOH, it seems to me that it *should* disappear in that case, and also
that vrevoke() should also end up getting called on the layer vnode.
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index