Re: [PATCH -mm 5/5][AIO] - Add listio syscall support

From: Laurent Vivier
Date: Wed Jan 24 2007 - 04:53:25 EST


Andrew Morton wrote:
> On Wed, 17 Jan 2007 10:55:54 +0100
> Sébastien Dugué <sebastien.dugue@xxxxxxxx> wrote:
>
>> +struct lio_event *lio_create(struct sigevent __user *user_event,
>> + int mode)
>> +{
>> + int ret = 0;
>> + struct lio_event *lio = NULL;
>> +
>> + if (unlikely((mode == LIO_NOWAIT) && !user_event))
>> + return lio;
>> +
>> + lio = kzalloc(sizeof(*lio), GFP_KERNEL);
>> +
>> + if (!lio)
>> + return ERR_PTR(-EAGAIN);
>> +
>
> Why EAGAIN and not ENOMEM?

According to the POSIX AIO specifications:

"ERRORS:
...
[EAGAIN]
The resources necessary to queue all the I/O requests were not available. "

I think memory is "a resource necessary to queue all the I/O requests"...

http://www.opengroup.org/onlinepubs/009695399/functions/lio_listio.html

Regards,
Laurent
--
------------- Laurent.Vivier@xxxxxxxx --------------
"Any sufficiently advanced technology is
indistinguishable from magic." - Arthur C. Clarke

Attachment: signature.asc
Description: OpenPGP digital signature