On Tue, Oct 15, 2002 at 01:50:40PM -0700, John Gardiner Myers wrote:
> Benjamin LaHaise wrote:
>
> >My
> >concern is that the way you've implemented NOOP does not allow for all
> >possible return codes to be passed in due to the error checking the
> >iocb submit code performs on the inputs.
> >
> Could you provide an example of a possible return code that cannot be
> passed in? I know you can't pass a 64 bit return code on a 32 bit
> platform, but then neither can any other operation.
aio_nbytes is clamped to disallow negative values at present.
> Currently the operation requires a valid fd just like every other
> operation does, so I don't consider such a failure to be spurious.
Okay, if it is documented, that makes sense. I just wasn't sure if it
happened to be an oversight.
> The alternative is to change the aio framework itself to support
> operations that don't work on fds. That would move the fget() call and
> the overflow check to below where it sets req->ki_user_data. The check
> for IOCB_CMD_NOOP would then go before the fget() call and overflow check.
>
> If you think this is the way to go, I can code up patch to do this.
That's a possibility. I don't like the idea of splitting things out too
much, as special cases look ugly. The io_submit interface really does
assume that the file descriptor exists, and removing that doesn't really
make sense -- non-file descriptor consuming operations should most likely
be their own syscalls (imho). But if you're okay with requiring an fd
for the NOOP, then that seems alright. Does anyone else have any thoughts
on the matter?
-ben
-- "Do you seek knowledge in time travel?" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:57 EST