diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2021-03-22 02:58:25 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-04-12 01:41:59 +0200 |
commit | 682076801a2f46867743d9520d228e3c7eca751f (patch) | |
tree | fdff1837ed616cf311fdfb6ffad5e5bc4cff1811 | |
parent | io_uring: don't clear REQ_F_LINK_TIMEOUT (diff) | |
download | linux-682076801a2f46867743d9520d228e3c7eca751f.tar.xz linux-682076801a2f46867743d9520d228e3c7eca751f.zip |
io_uring: don't do extra EXITING cancellations
io_match_task() matches all requests with PF_EXITING task, even though
those may be valid requests. It was necessary for SQPOLL cancellation,
but now it kills all requests before exiting via
io_uring_cancel_sqpoll(), so it's not needed.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | fs/io_uring.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c index a152c0fd24cc..b33cc2926ac6 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -1079,12 +1079,8 @@ static bool io_match_task(struct io_kiocb *head, { struct io_kiocb *req; - if (task && head->task != task) { - /* in terms of cancelation, always match if req task is dead */ - if (head->task->flags & PF_EXITING) - return true; + if (task && head->task != task) return false; - } if (!files) return true; |