[OpenAFS-devel] Linux cache manager throwing away callbacks

Simon Wilkinson sxw@inf.ed.ac.uk
Mon, 19 Jan 2009 16:27:05 +0000


>
> checking CUnlinked doesnt prevent that.  this code in .dentry_iput has
> been around quite a while i think.

So, this is the behaviour I'm seeing... dentry_iput gets called when  
the dentry count reaches 0, regardless of what the inode count is  
doing. So, the kernel can end up dereferencing the dentry by calling  
dentry_iput whilst the cache manager is still holding references on  
the inode.

This is hurting me in disconnected mode, but I also wonder if there  
are potential locations where invalidating the segments may break  
things when running normally, in particular where we are using  
background stores against a slow file server.

Simon.