fam
[Top] [All Lists]

[fam] Re: [prepatch] Directory Notification

To: willy@xxxxxxxxxxxxxxxxxx
Subject: [fam] Re: [prepatch] Directory Notification
From: Erez Zadok <ezk@xxxxxxxxxxxxxxx>
Date: Mon, 22 May 2000 20:37:00 -0400 (EDT)
Cc: Erez Zadok <ezk@xxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxxx, tridge@xxxxxxxxxxxxx, fam@xxxxxxxxxxx
In-reply-to: Your message of "Sun, 21 May 2000 12:18:30 EDT." <20000521121830.X28590@xxxxxxxxxxxxxxxxxx>
Sender: owner-fam@xxxxxxxxxxx
In message <20000521121830.X28590@xxxxxxxxxxxxxxxxxx>, willy@xxxxxxxxxxxxxxxxxx 
writes:
> On Sat, May 20, 2000 at 03:31:29PM -0400, Erez Zadok wrote:
> > I looked briefly at the patch, and I'm afraid I don't understand some basic
> > things.  Perhaps you can let us (-fsdevel) all know the following (which you
> > should probably put in a README on your Web page along w/ the patches):
> 
> > - what is directory notification
> > - what is it good for
> 
> Directory notification is a mechanism for informing interested tasks
> when the contents of a directory change.  This has immediate applications
> for file managers and ps.  Samba benefits from this, and there are some
> non-obvious applications such as a persistent make which perpetually
> keeps a tree up-to-date by noticing modifications to files.

Do you get notified on any change to the directory, files within, even
recursively?  Do you get notified if a file's data had changed but the
file's [cm]time etc. didn't change?  Is an atime update considered a change?

I think a mechanism for notification can be very useful, but first you have
to decide on what can and/or should be notified.  Then on the notification
mechanism: should be a pull, push, or register-and-wait-for-event system?
There advantages and disadvantages to each mechanism.  Your signal method
appears OK as a first try.  Can you use a better method with a more direct
connection b/t a user process and the kernel (a unix pipe, something ala
kernel-user netlink, shm, maybe out of kernel RPCs, etc.)

I also think you should consider using my stackable templates as a possible
starting point.  You'd have the advantage of not having to touch the VFS
proper, and having this mechanism work on top of all f/s, not just ext2.

Erez.

--
Source code, list archive, and docs: http://oss.sgi.com/projects/fam/
To unsubscribe: echo unsubscribe fam | mail majordomo@xxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>