Hi,

I think I've found a bug in the Linux CM, which causes a busy machine to prematurely throw away callbacks. The cache manager implements its own version of dentry_iput, which calls afs_InactiveVcache, which in turn discards any callbacks for that vcache. Unfortunately, it appears that dentry_iput is called whenever the kernel is dereferencing a dentry, which it does pretty frequently if you're doing a lot of file system operations. Originally InactiveVCache was only called if the refcount was going from 2->1 (meaning the only active copy of the inode is on the AFS LRU queue), or if the vcache was marked as being unlinked, but linux-dentry-iput-20060813 removed this logic in favour of always calling InactiveVCache.

Anyone know the history behind any of this?

Cheers,

Simon.


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

Reply via email to