Re: which ioctls matter across filesystems

From: Steve French
Date: Fri Apr 29 2005 - 15:51:54 EST

Robert Love wrote:

What about inotify makes it insufficient for your needs?

I am not sure - but it is obviously required that inotify can pass over CIFS (and probably NFS) since change notification is hardest for the user to figure out when they are on a network. I am not sure how the filesystem can detect that a new watch is added to one of its inodes - it looks like you added an ioctl to a device but I am still reading through your latest patch. I was looking for something like an inode operation that cifs could hook so the fs could be told when a new watch was added or one was changed. In any case I need to construct functions somewhat similar to what is in fs/cifs/fcntl.c and need to finish/modify CIFSSMBNotify in fs/cifs/cifssmb.c to map the inotify flags to the flags available in the CIFS network protocol specifications.
The existing network protocol support for ChangeNotify is more straightforward than you might think and the filter flags & actions that I have at my disposal for implementing notify across the network are in fs/cifs/cifspdu.h already (search for FILE_ACTION_ and FILE_NOTIFY_ if you are curious) but obviously they are similar to what the other Samba team guys have already told you.

What kind of real-world applications exist out there that need inotify
functionality, and what sort of requirements do they have (in particular
w.r.t. the notification mechanism)?

A few worksets:

- Current users, such as FAM and Samba, that need simple file
change notification
- Random applications that want to watch a file or two
- The Linux desktop
- Real-time live-updating indexing systems, such as Beagle,
that compete with f.e. Apple's Spotlight.


Robert Love

strongly agree, very strongly agree.

The one example we left out - distributed backup applications (those guys query me from time to time asking for improvements) - they want to know when a server file changes so they can do backup across CIFS.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at