Source-Changes archive

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

Re: CVS commit: syssrc/sys/miscfs/nullfs



Bill Studenmund <wrstuden%wasabisystems.com@localhost> writes:

> On 14 Mar 2002, enami tsugutomo wrote:
> 
> > Invalidate the cache entry when vnode is recyled?  Or, borrow v_id and
> > kill entire hash when name cache does it?
> 
> Which vnode are we talking about? We key the hash table on the lower
> vnode's address, so we need to either make sure that vnode doesn't go away
> (which we do by keeping a reference now), or we know when it does.

Don't worry, I'm talking about the lower vnode :-).  I know currently
no such mechanizm we have.

> We probably could do something with v_id, but I think it would just
> be easier to hang onto the reference.  We definitly want to hold the
> reference while we are using the upper vnode.  So either we hold it
> all the time, or we grab it & release it & grab it & release it. The
> latter seems computationally intensive, since (with VOP_UPCALL or
> whatever we end up doing) we can know when we need to do something.

Yes, we need to reference lower vnode while we're USING it.  Having
reference while we are keeping it while we're caching isn't so easy,
since it makes us to address some issue.  For example, having
reference means device close routine won't be called.  This was
another issue due to we hold reference while upper vnode is cached.

And I think keeping reference of lower vnode means it will remain in
the lower file system's cache longer than others.  It sounds not fair.

If lower vnode is found in lower file system's cache, releasing &
grabing shouldn't be so expensive.

enami.



Home | Main Index | Thread Index | Old Index