Thread (7 messages) flat view 7 messages, 2 authors, 2015-03-12

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

From: Tadeusz Struk <hidden>
Date: 2015-03-12 14:00:59
Also in: linux-crypto, linux-fsdevel

On 03/11/2015 11:48 PM, Al Viro wrote:
quoted
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 majordomo@kvack.org.  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help