|
|
Log in / Subscribe / Register

io_uring: add support for accept(4)

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




Copyright © 2019, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds