Re: File change notification
From: Rüdiger Klaehn
Date: Thu Jan 01 2004 - 08:13:07 EST
Michael Clark wrote:
On 01/01/04 02:48, Rüdiger Klaehn wrote:
Javier Fernandez-Ivern wrote:
Rüdiger Klaehn wrote:
I have been wondering for some time why there is no decent file
change notification mechanism in linux. Is there some deep
philosophical reason for this, or is it just that nobody has found
the time to implement it? If it is the latter, I am willing to
implement it as long there is a chance to get this accepted into
the mainstream kernel.
Well, there's fam. But AFAIK that's all done in user space, and
your approach would be significantly more efficient (as a matter of
fact, fam could be modified to use your change device as a first
level of notification.)
Fam is a user space library that has some nice features such as
network transparent change notification. It currently uses the
dnotify mechanism if the underlying kernel supports it, but as I
mentioned the dnotify mechanism requires an open file handle and
works only for single directories. If the underlying os does not
support dnotify, fam resorts to polling for file changes (yuk!).
Have you had a look at dazuko. It provides a consistent file access
notification mechanism (and also intervention for denying access) across
linux and freebsd. It is currently being used by various on-access
virus scanners. It is under active development and supports 2.6 (and 2.4)
This seems to be a descendant of this one:
<http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/openxdsm/openxdsm/eventmodule/>
It works, but it is a slow and ugly hack to just hook into every syscall
that does something with files. And it is quite slow and ambiguous to
log paths instead of inodes since file paths are not unique (hard links
etc).
But I will take a look at that code to see how they get the events to
user space.
Seems like a good idea. I've always thought it would be nice to use
something like this to maintain a dynamic locatedb (among many other
potential uses).
File change notification would be immensely useful. I think there is a
consensus about that.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/