Subject: Re: [PATCH RFC 2/4] aio: prefer aio_op op over iter_op

From: Tadeusz Struk <[email-masked]>
Date: Thu, 12 Mar 2015 07:00:59 -0700

On 03/11/2015 11:48 PM, Al Viro wrote:
>> AIO interface should prefer AIO operations over iter_op
> What the devil for?  read_iter and write_iter *ARE* aio operations, as much
> as soon to be removed aio_read and aio_write.  And yes, those are going to
> be removed very soon.

That's fine. When those will get removed, then as part of the cleanup we can 
merge sock_read_iter() with sock_aio_read() and sock_write_iter()
with sock_aio_write() and call sock_recvmsg()/sock_sendmsg() or 
sock->ops->aio_recvmsg()/sock->ops->aio_sendmsg based on if (is_sync_kiocb(iocb))

> 
> Note that ->read_iter() and ->write_iter() are getting iocb pointer passed
> to them.  It's just that socket instances are not passing it along to
> ->sendmsg/->recvmsg anymore.

and that's the main reason why I have added the sock_aio_read() and sock_aio_write()
I didn't want to mess with the sock_read_iter() and sock_write_iter() for now.

> 
> And why, in name of everything unholy, do your methods get redundant
> total_len argument?  It's iov_iter_count(&msg->msg_iter) (and in iov_iter-net
> I have an inline helper doing that - enough places open-coding that thing).
> If nothing else, ->sendmsg() and ->recvmsg() would benefit from removing
> that argument as well.  I have patches doing that, but iocb removal conflicts
> with them and they need to be rebased to current net/master...

You are right, it's not needed at all. I took the signatures from sendmsg() and
recvmsg() and just added iocb. I will remove them in v2 if you want, or you can
add it to your patches.

--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to [email-masked].  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"[email-masked]">[email-masked]</a>