On Tuesday, April 19, 2005 10:11:32 PM -0400 "John S. Bucy" <[EMAIL PROTECTED]> wrote:

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.

Without actually reading the code in question, that would seem to be a valid approach. In fact, I'm a little surprised we're not doing something along those lines already. Care to send a patch?


-- Jeff
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to