Re: [patch] inotify.

Arnd Bergmann
2005-06-17T17:11:17Z

On Dunnersdag 16 Juni 2005 20:25, Robert Love wrote:
> +Q: Why a device node?
> +
> +A: The second biggest problem with dnotify is that the user
> +interface sucks ass.  Signals are a terrible, terrible interface
> +for file notification.  Or for anything, for that matter.  The
> +idea solution, from all perspectives, is a file descriptor based
> +one that allows basic file I/O and poll/select.  Obtaining the
> +fd and managing the watches could of been done either via a
> +device file or a family of new system calls.  We decided to
> +implement a device file because adding three or four new system
> +calls that mirrored open, close, and ioctl seemed silly.  A
> +character device makes sense from user-space and was easy to
> +implement inside of the kernel.

Sorry to bring up a topic that should have been settled a long time ago.

I found that the interface consisting of
- open a handle
- add a file descriptor with an event mask to handle
- remove a file/watch descriptor from handle
- wait on handle, get events
- close handle

in inotify is _very_ similar to how epoll is represented to user
space. Is there a good reason that epoll is a set of syscalls while
inotify is a character device, or is one of them simply wrong?