Subject: README: name cache changes
To: None <current-users@netbsd.org>
From: Jaromir Dolecek <dolecek@ics.muni.cz>
List: current-users
Date: 09/05/1999 16:56:11
Hi folks,
I've just committed changes to unify the way vnodes found in name
cache are locked. Formerly, each fs's lookup routine did the locking
itself; now the vnode is locked directly in cache_lookup() and the
fs code can just return the result with no further action.

The code now also removes the entry from cache when it's either invalid
(vget() fails) or the vnode has been recycled while waiting for the lock.
In that case, unlock/relock of the directory vnode has been eliminated too.
Both changes could lead to sligh performace improvement in same cases.

Furthermore, obscure bug has been found and eliminated for ISDOTDOT in the
lockparent && ISLASTCN case: if the vget() succeded and the re-lock
of the directory vnode not, we returned the error with the '..' vnode still
locked.

Many thanks to Bill Studenmund and especially Charles Hannum
for invaluable advices and code to get this right.

I had no chance to test if I got the changes needed for NFS right;
hopefully I did ;-b

The changes should show up in the next sup scan. If you encounter
any problems related to this change, don't be ashamed to send-pr
them ASAP.

Best regards

Jaromir
-- 
Jaromir Dolecek <jdolecek@NetBSD.org>      http://www.ics.muni.cz/~dolecek/
"The only way how to get rid temptation is to yield to it." -- Oscar Wilde