Re: [patch] inotify for 2.6.11

Albert Cahalan
2005-03-07T03:26:51Z

Christoph Hellwig writes:
> On Sat, Mar 05, 2005 at 07:40:06PM -0500, Robert Love wrote:
>> On Sun, 2005-03-06 at 00:04 +0000, Christoph Hellwig wrote:

>>> The user interface is still bogus.
>>
>> I presume you are talking about the ioctl. I have tried to engage you
>> and others on what exactly you prefer instead. I have said that moving
>> to a write interface is fine but I don't see how ut is _any_ better than
>> the ioctl. Write is less typed, in fact, since we lose the command
>> versus argument delineation.
>>
>> But if it is a anonymous decision, I'll switch it. Or take patches. ;-)
>> It isn't a big deal.
>
> See the review I sent. Write is exactly the right interface for that kind
> of thing. For comment vs argument either put the number first so we don't
> have the problem of finding a delinator that isn't a valid filename, or
> use '\0' as such.

That's just putrid. You've proposed an interface that
combines the worst of ASCII with the worst of binary.

It is now well-established that ASCII interfaces are
horribly slow. This one will be no exception... but
with the '\0' in there, you have a binary interface.
So, it's an evil hybrid.

An ioctl() is a syscall with scope restricting it to a
single fd. This is a fine user interface, not a bogus one.
(keep 32-on-64 operation in mind to be polite)

If you'd rather have a normal (global) system call though,
that'll do too, likely leading to a bit more type checking
in the glibc-provided headers.

Adding plain old syscalls is rather nice actually.
It's only a pain at first, while waiting for glibc
to catch up.