[OpenAFS-devel] funny lookup/dnlc/dcache/...

John S. Bucy bucy-openafs-devel@gloop.org
Tue, 19 Apr 2005 22:11:32 -0400


On Tue, Apr 19, 2005 at 01:50:43PM -0400, John S. Bucy wrote:

> It seems like all of the lookups should hit in Linux's dentry cache --
> they seem to for ext3 -- but AFS is doing a lot of extra work
> somewhere.  Like many of them are missing and its falling back to
> afs_dir_Lookup().

I understand now ... the vfs is doing 
d_op->d_revalidate = afs_linux_revalidate_dentry(), it falls through the
dnlc and does an afs_lookup().  It seems like the revalidate routine
should be able to know whether or not the dir vnode has changed since
the dentry was last validated and only do the lookup in that case.

I notice that struct dentry has a void *d_fsdata that AFS isn't using
right now that might be used to track, say, the data version of the
dir vnode.




john