[GIT PULL] io_uring fixes for 5.7-rc1
From: Jens Axboe
Date: Thu Apr 09 2020 - 21:07:12 EST
Hi Linus,
Here's a set of fixes that either weren't quite ready for the first, or
came about from some intensive testing on memcached with 350K+ sockets.
In particular, this pull request contains:
- Fixes for races or deadlocks around poll handling
- Don't double account fixed files against RLIMIT_NOFILE
- IORING_OP_OPENAT LFS fix
- Poll retry handling (Bijan)
- Missing finish_wait() for SQPOLL (Hillf)
- Cleanup/split of io_kiocb alloc vs ctx references (Pavel)
- Fixed file unregistration and init fixes (Xiaoguang)
- Various little fixes (Xiaoguang, Pavel, Colin)
Please pull!
git://git.kernel.dk/linux-block.git io_uring-5.7-2020-04-09
----------------------------------------------------------------
Bijan Mottahedeh (1):
io_uring: process requests completed with -EAGAIN on poll list
Colin Ian King (1):
io_uring: remove redundant variable pointer nxt and io_wq_assign_next call
Hillf Danton (1):
io_uring: add missing finish_wait() in io_sq_thread()
Jens Axboe (6):
io_uring: retry poll if we got woken with non-matching mask
io_uring: grab task reference for poll requests
io_uring: use io-wq manager as backup task if task is exiting
io_uring: remove bogus RLIMIT_NOFILE check in file registration
io_uring: ensure openat sets O_LARGEFILE if needed
io_uring: punt final io_ring_ctx wait-and-free to workqueue
Pavel Begunkov (6):
io_uring: fix ctx refcounting in io_submit_sqes()
io_uring: simplify io_get_sqring
io_uring: alloc req only after getting sqe
io_uring: remove req init from io_get_req()
io_uring: don't read user-shared sqe flags twice
io_uring: fix fs cleanup on cqe overflow
Xiaoguang Wang (3):
io_uring: refactor file register/unregister/update handling
io_uring: initialize fixed_file_data lock
io_uring: do not always copy iovec in io_req_map_rw()
fs/io-wq.c | 12 ++
fs/io-wq.h | 2 +
fs/io_uring.c | 428 ++++++++++++++++++++++++++++++++++------------------------
3 files changed, 269 insertions(+), 173 deletions(-)
--
Jens Axboe