diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2021-02-12 03:23:53 +0000 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-02-12 05:30:25 -0700 |
commit | 921b9054e0c4c443c479c21800f6c4c8b43fa1b0 (patch) | |
tree | 048c1dc8552b76d360c35d905b1e6529f0884e3f /fs | |
parent | 4e32635834a30b8aa9583d3899a8ecc6416023fb (diff) | |
download | linux-921b9054e0c4c443c479c21800f6c4c8b43fa1b0.tar.bz2 |
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')
-rw-r--r-- | fs/io_uring.c | 8 |
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; } |