That unifies cancellation/matching/etc., so we can kill all that going out of hand zoo of functions. Jens, [3/6] changes the behaviour, but as last time it's less restrictive and doesn't kill what we don't need to kill. Though, it'd prefer you to check the assumption in light of the cancel changes you've done. Based on for-5.11/io_uring + "io_uring: fix link lookup racing with link timeout", should apply ok after you merge everything. Pavel Begunkov (6): io_uring: simplify io_task_match() io_uring: add a {task,files} pair matching helper io_uring: cancel only requests of current task io_uring: don't iterate io_uring_cancel_files() io_uring: pass files into kill timeouts/poll io_uring: always batch cancel in *cancel_files() fs/io-wq.c | 10 -- fs/io-wq.h | 1 - fs/io_uring.c | 260 ++++++++++++++------------------------------------ 3 files changed, 69 insertions(+), 202 deletions(-) -- 2.24.0