Re: [RFC/PATCH] inotify -- a dnotify replacement

From: Alexander Larsson
Date: Tue May 11 2004 - 10:03:46 EST


On Tue, 2004-05-11 at 04:47, Chris Wedgwood wrote:
> On Mon, May 10, 2004 at 06:17:40PM -0400, John McCutchan wrote:
>
> > According to everyone who uses dnotify it is.
>
> I don't buy that. I have used dnotify and signals where not an issue.
> Why is this an issue for others?

Its the single thing which forces users of dnotify to have an otherwise
useless daemon. Signals are process global resources. As such, a library
can't allocate them, so dnotify can't be used in a library.

> > > 3) dnotify cannot easily watch changes for a directory hierarchy
>
> > People don't seem to really care about this one. Alexander Larsson
> > has said he doesn't care about it. It might be nice to add in the
> > future.
>
> I don't know who that is and why it matters.
>
> Without being able to watch a hierarchy, I'm not sure inotify buys
> anything that we can't get from dnotify right now though. It's also
> more complex.

Hierarchical watches are not important to Nautilus, and the lack of them
has not generally been a problem for Gnome. Furthermore, they are
basically impossible to implement in a way that is sane wrt resource
management in the kernel. Unlimited queues in the kernel is an instant
DOS, and if the queue can overflow there is bascially no way to handle
that correctly from userspace without keeping the entire subtree in
memory (and even that breaks in the presence of aliases).

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl@xxxxxxxxxx alla@xxxxxxxxxxxxxx
He's a gun-slinging pirate gangster on the hunt for the last specimen of a
great and near-mythical creature. She's a manipulative winged Hell's Angel who
can talk to animals. They fight crime!

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/