summaryrefslogtreecommitdiffstats
path: root/fs/io_uring.c
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2021-02-12 03:23:53 +0000
committerJens Axboe <axboe@kernel.dk>2021-02-12 05:30:25 -0700
commit921b9054e0c4c443c479c21800f6c4c8b43fa1b0 (patch)
tree048c1dc8552b76d360c35d905b1e6529f0884e3f /fs/io_uring.c
parent4e32635834a30b8aa9583d3899a8ecc6416023fb (diff)
downloadlinux-stable-921b9054e0c4c443c479c21800f6c4c8b43fa1b0.tar.gz
linux-stable-921b9054e0c4c443c479c21800f6c4c8b43fa1b0.tar.bz2
linux-stable-921b9054e0c4c443c479c21800f6c4c8b43fa1b0.zip
io_uring: don't duplicate io_req_task_queue()
Don't hand code io_req_task_queue() inside of io_async_buf_func(), just call it. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/io_uring.c')
-rw-r--r--fs/io_uring.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 813d1ccd7a69..5c0b1a7dba80 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -3494,7 +3494,6 @@ static int io_async_buf_func(struct wait_queue_entry *wait, unsigned mode,
struct wait_page_queue *wpq;
struct io_kiocb *req = wait->private;
struct wait_page_key *key = arg;
- int ret;
wpq = container_of(wait, struct wait_page_queue, wait);
@@ -3504,14 +3503,9 @@ static int io_async_buf_func(struct wait_queue_entry *wait, unsigned mode,
req->rw.kiocb.ki_flags &= ~IOCB_WAITQ;
list_del_init(&wait->entry);
- req->task_work.func = io_req_task_submit;
- percpu_ref_get(&req->ctx->refs);
-
/* submit ref gets dropped, acquire a new one */
refcount_inc(&req->refs);
- ret = io_req_task_work_add(req);
- if (unlikely(ret))
- io_req_task_work_add_fallback(req, io_req_task_cancel);
+ io_req_task_queue(req);
return 1;
}