Move the fail path of request submittion to the end of the function to make the logic more readable. Signed-off-by: Hao Xu <haoxu@xxxxxxxxxxxxxxxxx> --- fs/io_uring.c | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/fs/io_uring.c b/fs/io_uring.c index 383668e07417..5eb09ca4a0a7 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -6639,25 +6639,8 @@ static int io_submit_sqe(struct io_ring_ctx *ctx, struct io_kiocb *req, head = link->head; ret = io_init_req(ctx, req, sqe); - if (unlikely(ret)) { -fail_req: - req->result = ret; - if (head) { - link->last = req; - if (is_link) { - req_set_fail(head); - } else { - int res = head->result ? head->result : -ECANCELED; - - link->head = NULL; - /* fail even hard links since we don't submit */ - io_req_complete_failed(head, res); - } - } else { - io_req_complete_failed(req, ret); - } - return ret; - } + if (unlikely(ret)) + goto fail_req; ret = io_req_prep(req, sqe); if (unlikely(ret)) @@ -6698,6 +6681,25 @@ static int io_submit_sqe(struct io_ring_ctx *ctx, struct io_kiocb *req, } return 0; + +fail_req: + if (head) { + req->result = ret; + link->last = req; + if (is_link) { + req_set_fail(head); + } else { + int res = head->result ? head->result : -ECANCELED; + + link->head = NULL; + /* fail even hard links since we don't submit */ + io_req_complete_failed(head, res); + } + } else { + io_req_complete_failed(req, ret); + } + + return ret; } /* -- 2.24.4