io_uring: fix missing wake_up io_rw_reissue()
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 29 Jun 2020 09:59:48 +0000 (12:59 +0300)
committerJens Axboe <axboe@kernel.dk>
Mon, 29 Jun 2020 13:43:03 +0000 (07:43 -0600)
Don't forget to wake up a process to which io_rw_reissue() added
task_work.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index 9d3d8d3..92c7e2a 100644 (file)
@@ -2168,8 +2168,10 @@ static bool io_rw_reissue(struct io_kiocb *req, long res)
        tsk = req->task;
        init_task_work(&req->task_work, io_rw_resubmit);
        ret = task_work_add(tsk, &req->task_work, true);
-       if (!ret)
+       if (!ret) {
+               wake_up_process(tsk);
                return true;
+       }
 #endif
        return false;
 }