Re: [RFC][PATCH] inotify 0.10.0

John McCutchan
2004-09-28T20:46:23Z

On Tue, 2004-09-28 at 15:08, Andrew Morton wrote:
> Ray Lee <ray-lk@madrabbit.org> wrote:
> >
> > The current way pads out the structure unnecessarily, and still doesn't
> > handle the really long filenames, by your admission. It incurs extra
> > syscalls, as few filenames are really 256 characters in length.
>
> Why don't you pass a file descriptor into the syscall instead of a pathname?
> You can then take a ref on the inode and userspace can close the file.
> That gets you permission checking for free.
>

I don't think moving inotify to a syscall based interface is worth it.

First off, on startup, this would require about 2k open() calls,
followed by 2k syscalls to inotify. Not as nice as just 2k ioctl()
calls.

The character device interface right now suits it perfectly. If we used
syscalls we would need to provide a syscall that gives user space a FD
that it can read events on, then more 2 more syscalls to provide the
watch and ignore functionality. Switching to the syscall interface would
also require implementing the idea of the inotify device instance
without the assistance of the char device subsystem. If the ioctl()
based interface is so bad, we could change it to a write() based
interface.

John