FWatch is a kernel module, reporting changes on files to /dev/fwatch. It hooks into the sys_calls and so does not require a kernel patch. FWatch should support SMP, but is not jet testet with SMP since I do not have a SMP-system for testing:-( After insmod'ing the module, no events are set to be caught. To activate watching for certain events, you need to run ioctl to register the wanted events, for reference please take a look at the fwatchread example in the src dir. Ioctl can be used during runtime, to individually change the required events. Please note that there can be only one app reading the /dev/fwatch output. FWatch was initially designed to act as a device listener for fam (http://oss.sgi.com/projects/fam/index.html), the neccessary files therefor are available in the src tarball in the contrib/fam directory. Since the original fam without IMon support seems not to be able to handle more than 200 dirs at a time (needed for watching changes in concurrent versioning system frontends like LinCVS (http://www.lincvs.org;-), this is a solution therefor. To use these with fam, just replace the original fam files with those found in the contrib dir, add the fwatch.h to the same dir and recompile fam. (Please note that this will only work if IMon is not installed on your system). FWatch was tested with fam-2.6.10. FWatch is currently in alpha state, any reports and patches are welcome.
Download latest version