Hi Linus,
Changes that were queued up for this release. This pull request
contains:
- Support for recvmsg/sendmsg as first class opcodes. I don't envision
going much further down this path, as there are plans in progress to
support potentially any system call in an async fashion through
io_uring. But I think it does make sense to have certain core ops
available directly, especially those that can support a "try this
non-blocking" flag/mode. (me)
- Handle generic short reads automatically. This can happen fairly
easily if parts of the buffered read is cached. Since the application
needs to issue another request for the remainder, just do this
internally and save kernel/user roundtrip while providing a nicer more
robust API. (me)
- Support for linked SQEs. This allows SQEs to depend on each other,
enabling an application to eg queue a
read-from-this-file,write-to-that-file pair. (me)
- Fix race in stopping SQ thread (Jackie)
Please pull!
git://git.kernel.dk/linux-block.git tags/for-5.3/io_uring-20190711
----------------------------------------------------------------
Jackie Liu (1):
io_uring: fix io_sq_thread_stop running in front of io_sq_thread
Jens Axboe (5):
uio: make import_iovec()/compat_import_iovec() return bytes on success
io_uring: punt short reads to async context
io_uring: add support for sqe links
io_uring: add support for sendmsg()
io_uring: add support for recvmsg()
fs/aio.c | 9 +-
fs/io_uring.c | 338 +++++++++++++++++++++++++++++++++++-------
fs/splice.c | 8 +-
include/linux/socket.h | 7 +
include/linux/uio.h | 4 +-
include/uapi/linux/io_uring.h | 4 +
lib/iov_iter.c | 15 +-
net/compat.c | 3 +-
net/socket.c | 18 ++-
9 files changed, 330 insertions(+), 76 deletions(-)
--
Jens Axboe