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