Development/Tutorials/Metadata/Nepomuk/FileWatchService

From KDE TechBase
Nepomuk Ontology Loader Service
Tutorial Series   Nepomuk
Previous   Ontology Loader Service
What's Next   Strigi Service
Further Reading   Nepomuk Services, Nepomuk Server

Nepomuk File Watch Service

The File Watch service monitors the file system for changes. If files are deleted, the corresponding metadata is removed from the Nepomuk store. If files are moved, the URIs (file resources always have their file URL as RDF resource URI) and the file path are updated.

Currently we use inotify to monitor changes. However, inotify is absolute crap, and does let you monitor file moves unless you are watching both the source and the destination. So, we have to create watches for every single directory, which results in massive IO load when Nepomuk is starting up ( inotify does NOT watch directories recursively )

Someone should improve the file monitoring system in the kernel.

Also, FANotify (inotify's successor) is also crap! It does not support move events at all.