| From: |
| Jens Axboe <axboe-AT-kernel.dk> |
| To: |
| linux-block-AT-vger.kernel.org |
| Subject: |
| [PATCHSET] io_uring: add support for accept(4) |
| Date: |
| Thu, 17 Oct 2019 15:28:55 -0600 |
| Message-ID: |
| <20191017212858.13230-1-axboe@kernel.dk> |
| Cc: |
| davem-AT-davemloft.net, netdev-AT-vger.kernel.org |
| Archive-link: |
| Article |
This series adds support for applications doing async accept()
through io_uring.
Patch 1 is just a prep patch, adding support for inheriting a process
file table for commands.
Patch 2 abstracts out __sys_accept4_file(), which is the same as
__sys_accept4(), except it takes a struct file and extra file flags.
Should not have any functional changes.
And finally patch 3 adds support for IORING_OP_ACCEPT. sqe->fd is
the file descriptor, sqe->addr holds a pointer to struct sockaddr,
sqe->addr2 holds a pointer to socklen_t, and finally sqe->accept_flags
holds the flags for accept(4).
The series is against my for-5.5/io_uring tree, and also exists
as a for-5.5/io_uring-test branch. I've got a test case for this
that I haven't pushed to liburing yet, will do so shortly.
fs/io_uring.c | 56 ++++++++++++++++++++++++++++--
include/linux/socket.h | 3 ++
include/uapi/linux/io_uring.h | 7 +++-
net/socket.c | 65 ++++++++++++++++++++++-------------
4 files changed, 103 insertions(+), 28 deletions(-)
--
Jens Axboe