[PATCH] inotify
inotify is intended to correct the deficiencies of dnotify, particularly its inability to scale and its terrible user interface: * dnotify requires the opening of one fd per each directory that you intend to watch. This quickly results in too many open files and pins removable media, preventing unmount. * dnotify is directory-based. You only learn about changes to directories. Sure, a change to a file in a directory affects the directory, but you are then forced to keep a cache of stat structures. * dnotify's interface to user-space is awful. Signals? inotify provides a more usable, simple, powerful solution to file change notification: * inotify's interface is a system call that returns a fd, not SIGIO. You get a single fd, which is select()-able. * inotify has an event that says "the filesystem that the item you were watching is on was unmounted." * inotify can watch directories or files. Inotify is currently used by Beagle (a desktop search infrastructure), Gamin (a FAM replacement), and other projects. See Documentation/filesystems/inotify.txt. Signed-off-by:Robert Love <rml@novell.com> Cc: John McCutchan <ttb@tentacle.dhs.org> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
Showing
- Documentation/filesystems/inotify.txt 138 additions, 0 deletionsDocumentation/filesystems/inotify.txt
- arch/i386/kernel/syscall_table.S 3 additions, 0 deletionsarch/i386/kernel/syscall_table.S
- fs/Kconfig 13 additions, 0 deletionsfs/Kconfig
- fs/Makefile 1 addition, 0 deletionsfs/Makefile
- fs/attr.c 4 additions, 29 deletionsfs/attr.c
- fs/compat.c 8 additions, 4 deletionsfs/compat.c
- fs/file_table.c 3 additions, 0 deletionsfs/file_table.c
- fs/inode.c 6 additions, 0 deletionsfs/inode.c
- fs/inotify.c 999 additions, 0 deletionsfs/inotify.c
- fs/namei.c 16 additions, 14 deletionsfs/namei.c
- fs/nfsd/vfs.c 3 additions, 3 deletionsfs/nfsd/vfs.c
- fs/open.c 2 additions, 1 deletionfs/open.c
- fs/read_write.c 9 additions, 6 deletionsfs/read_write.c
- fs/sysfs/file.c 2 additions, 5 deletionsfs/sysfs/file.c
- fs/xattr.c 4 additions, 1 deletionfs/xattr.c
- include/asm-i386/unistd.h 4 additions, 1 deletioninclude/asm-i386/unistd.h
- include/linux/fs.h 5 additions, 1 deletioninclude/linux/fs.h
- include/linux/fsnotify.h 248 additions, 0 deletionsinclude/linux/fsnotify.h
- include/linux/inotify.h 108 additions, 0 deletionsinclude/linux/inotify.h
- include/linux/sched.h 4 additions, 0 deletionsinclude/linux/sched.h
Documentation/filesystems/inotify.txt
0 → 100644
fs/inotify.c
0 → 100644
This diff is collapsed.
include/linux/fsnotify.h
0 → 100644
include/linux/inotify.h
0 → 100644
Please register or sign in to comment