OSDN Git Service

io_uring: Add io_uring command support for sockets
authorBreno Leitao <leitao@debian.org>
Tue, 27 Jun 2023 13:44:24 +0000 (06:44 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 9 Aug 2023 16:46:15 +0000 (10:46 -0600)
commit8e9fad0e70b7b62848e0aeb1a873903b9ce4d7c4
treea8409a91d6a22c12bd3974b9e21e223411e78b09
parentf77569d22ad91dc25de294864fa5b24d37ddc149
io_uring: Add io_uring command support for sockets

Enable io_uring commands on network sockets. Create two new
SOCKET_URING_OP commands that will operate on sockets.

In order to call ioctl on sockets, use the file_operations->io_uring_cmd
callbacks, and map it to a uring socket function, which handles the
SOCKET_URING_OP accordingly, and calls socket ioctls.

This patches was tested by creating a new test case in liburing.
Link: https://github.com/leitao/liburing/tree/io_uring_cmd
Signed-off-by: Breno Leitao <leitao@debian.org>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20230627134424.2784797-1-leitao@debian.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring.h
include/uapi/linux/io_uring.h
io_uring/uring_cmd.c
net/socket.c