io_uring fixes for 5.5-rc3
Jens Axboe
maintainerHi Linus,
Here's a set of fixes that should go into 5.5-rc3 for io_uring. This is bigger than I'd like it to be, mainly because we're fixing the case where an application reuses sqe data right after issue. This really must work, or it's confusing. With 5.5 we're flagging us as submit stable for the actual data, this must also be the case for SQEs. Honestly, I'd really like to add another series on top of this, since it cleans it up considerable and prevents any SQE reuse by design. I posted that here:
https://lore.kernel.org/io-uring/[email protected]/T/#u
and may still send it your way early next week once it's been looked at and had some more soak time (does pass all regression tests). With that series, we've unified the prep+issue handling, and only the prep phase even has access to the SQE.
Anyway, outside of that, fixes in here for a few other issues that have been hit in testing or production. Please pull!
git://git.kernel.dk/linux-block.git tags/io_uring-5.5-20191220
----------------------------------------------------------------
Brian Gianforcaro (1):
io_uring: fix stale comment and a few typos
Jens Axboe (11):
io_uring: fix sporadic -EFAULT from IORING_OP_RECVMSG
io-wq: re-add io_wq_current_is_worker()
io_uring: fix pre-prepped issue with force_nonblock == true
io_uring: remove 'sqe' parameter to the OP helpers that take it
io_uring: any deferred command must have stable sqe data
io_uring: make IORING_POLL_ADD and IORING_POLL_REMOVE deferrable
io_uring: make IORING_OP_CANCEL_ASYNC deferrable
io_uring: make IORING_OP_TIMEOUT_REMOVE deferrable
io_uring: read opcode and user_data from SQE exactly once
io_uring: warn about unhandled opcode
io_uring: io_wq_submit_work() should not touch req->rw
Pavel Begunkov (2):
io_uring: make HARDLINK imply LINK
io_uring: don't wait when under-submitting
fs/io-wq.c | 2 +- fs/io-wq.h | 8 +- fs/io_uring.c | 712 +++++++++++++++++++++++++++++++++++++++------------------- 3 files changed, 493 insertions(+), 229 deletions(-)
Signature · 1 line
Jens Axboe