Subject: Re: net: Remove iocb argument from sendmsg and recvmsg

From: Tadeusz Struk <[email-masked]>
Date: Wed, 11 Mar 2015 09:25:40 -0700

On 03/10/2015 09:06 PM, David Miller wrote:
> From: Ying Xue <[email-masked]>
> Date: Wed, 11 Mar 2015 11:18:01 +0800
> 
>> Sorry, I did not realize the case when I created the commit. However, although I
>> don't understand its scenario, in my opinion, adding one redundant argument for
>> all sockets to satisfy the special case seems unreasonable for us.
> 
> And the AIO socket mechanism was buggy and references freed up stack
> objects.
> 
> That whole set of problems would need to be addressed fully before
> we could even think of adding AIO support back to the socket layer.
> 

Maybe we can add new sock_aio_read_iter() and sock_aio_write_iter() functions in socket.c, and set the 
aio_read() and aio_write() ptrs to these in the socket_file_ops struct.
Then we can add new async_sendmsg() and async_recvmsg() to struct proto_ops that will still take the struct kiocb.
These new async_sendmsg() and async_recvmsg() functions will be called from the sock_aio_read_iter() and sock_aio_write_iter()?
Do you want me to put a patch together?