[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.