Re: [PATCH] inotify 0.5

John McCutchan
2004-07-19T01:36:23Z

On Sun, 2004-07-18 at 19:37, Davide Libenzi wrote:
> On Sun, 18 Jul 2004, John McCutchan wrote:
>
> > Inotify is a replacement for dnotify.
> >
> > The main difference between this and my earlier inotify design, is that
> > device numbers and inode numbers are no longer used. The interface
> > between user and kernel space uses a watcher descriptor.
> >
> > inotify is a char device with two ioctls
> >
> > WATCH
> > which takes
> >
> > struct inotify_watch_request {
> > char *dirname; // directory name
> > unsigned long mask; // event mask
> > };
> >
> > and returns a watcher descriptor (int)
>
> Does such descriptor supports poll(2) (... f_op->poll())?
>

You don't use the watcher descriptor to read the events. You use the fd
from opening up the inotify device (/dev/inotify). The inotify character
device does support the poll op.

The watcher descriptor is used for communication between the app and the
device driver.

For example,
you perform the watch ioctl on "/tmp/" the ioctl returns '2'. Then when
reading from the char device, any event with wd == 2 is referring to the
the "/tmp/" directory.

the character device produces inotify events

struct inotify_event {
int wd;
int mask;
}

John