summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2021-08-15 10:40:19 +0100
committerJens Axboe <axboe@kernel.dk>2021-08-23 13:10:37 -0600
commit761bcac1573efc99042d59add94d468bf17127f0 (patch)
tree92649083475dcdae19c841ecc27b2cc4f8a10ccb
parent48dcd38d73c22b22bf9dc1c01b0ca0b8414b31da (diff)
downloadlinux-761bcac1573efc99042d59add94d468bf17127f0.tar.bz2
io_uring: don't inflight-track linked timeouts
Tracking linked timeouts as infligh was needed to make sure that io-wq is not destroyed by io_uring_cancel_generic() racing with io_async_cancel_one() accessing it. Now, cancellations issued by linked timeouts are done in the task context, so it's already synchronised. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/e1b05cf47cb69df2305efdbee8cf7ba36f46c1a3.1628981736.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--fs/io_uring.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 86466e12c74d..5b95ab661f31 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -5701,8 +5701,6 @@ static int io_timeout_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe,
data->mode = io_translate_timeout_mode(flags);
hrtimer_init(&data->timer, CLOCK_MONOTONIC, data->mode);
- if (is_timeout_link)
- io_req_track_inflight(req);
return 0;
}