Hi
You say it's pain, but I guess the question is who gets the pain. You don't have to use many inotify watches, you can just add the subdirectories using inotify_add_watch, as well as adding/removing subdirectories when they are created/deleted.
If the kernel was to handle all the subdirectories, I guess it would get the pain. It's probably better that the userspace program gets the pain.
You can use some of the utility programs if you don't want to write the handeling of subdirectories, something like:
Code:
FILE *fp = popen("inotifywait -m -r -q /", "r");