[OpenAFS-devel] Linux cache manager throwing away callbacks

Simon Wilkinson sxw@inf.ed.ac.uk
Mon, 19 Jan 2009 13:08:30 +0000


On 19 Jan 2009, at 12:39, Chas Williams (CONTRACTOR) wrote:
>
> if you find the patch in the browse source, then you can click on the
> FIXES link to bug 37576.  the patch in question removes the refcount
> test around the .put_inode, not .dentry_iput.  so your report is at  
> best
> confusing to me.

Yes, the patch removes put_inode completely. But it also makes  
denty_iput call afs_InactiveVCache unconditionally (previously, it  
only called it when CUnlinked was set).

My question is whether doing so just because the kernel has reduced  
the reference count on the dentry is correct?

> i dont think afs_InactiveVCache() specifically clears any callbacks.
> however, it probably does make the vnode ready for recycling.

afs_InactiveVCache calls afs_InvalidateAllSegments if CDirty is set,  
afs_InvalidateAllSegments clears the callback, as well as deleting any  
data that hasn't yet been sent to the fileserver.

S.