[OpenAFS-devel] OpenAFS vs Inotify (as represented by Beagle)

Simon Wilkinson sxw@inf.ed.ac.uk
Sat, 24 Mar 2007 18:23:39 +0000


We've been seeing problems with OpenAFS running out of VCache entries  
on machines running FC6 with the Gnome desktop, which I've been  
investigating.

As was speculated earlier on these lists, the problem is caused by  
beagle. As beagle recurses the directory tree, it uses the new  
inotify system to watch each of the directories it has indexed, in  
order to be informed of changes to these directories. Unfortunately,  
adding a directory to the inotify watch list pins that directory's  
inode, preventing AFS from releasing it, or its related vcache  
structure until the application that called inotify exits. As beagle  
doesn't exit for the lifetime of the user's session, this means if a  
user has more directories than there are vcache entries available AFS  
will break.

Apart from turning off inotify, anyone have any ideas how to move  
forwards on this?

We can tell if an inode is being watched by checking the inode- 
 >inotify_watches list, but actually doing anything about it would  
requiring calling one of the inotify interfaces, which are all,  
unfortunately, EXPORT_SYMBOL_GPL

Simon.