mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
io_uring: separate the io_free_req and io_free_req_find_next interface
Similar to the distinction between io_put_req and io_put_req_find_next, io_free_req has been modified similarly, with no functional changes. Signed-off-by: Jackie Liu <liuyun01@kylinos.cn> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
ec9c02ad4c
commit
c69f8dbe24
@ -883,7 +883,7 @@ static void io_fail_links(struct io_kiocb *req)
|
||||
io_cqring_ev_posted(ctx);
|
||||
}
|
||||
|
||||
static void io_free_req(struct io_kiocb *req, struct io_kiocb **nxt)
|
||||
static void io_free_req_find_next(struct io_kiocb *req, struct io_kiocb **nxt)
|
||||
{
|
||||
if (likely(!(req->flags & REQ_F_LINK))) {
|
||||
__io_free_req(req);
|
||||
@ -917,6 +917,11 @@ static void io_free_req(struct io_kiocb *req, struct io_kiocb **nxt)
|
||||
__io_free_req(req);
|
||||
}
|
||||
|
||||
static void io_free_req(struct io_kiocb *req)
|
||||
{
|
||||
io_free_req_find_next(req, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Drop reference to request, return next in chain (if there is one) if this
|
||||
* was the last reference to this request.
|
||||
@ -926,7 +931,7 @@ static void io_put_req_find_next(struct io_kiocb *req, struct io_kiocb **nxtptr)
|
||||
struct io_kiocb *nxt = NULL;
|
||||
|
||||
if (refcount_dec_and_test(&req->refs))
|
||||
io_free_req(req, &nxt);
|
||||
io_free_req_find_next(req, &nxt);
|
||||
|
||||
if (nxt) {
|
||||
if (nxtptr)
|
||||
@ -939,7 +944,7 @@ static void io_put_req_find_next(struct io_kiocb *req, struct io_kiocb **nxtptr)
|
||||
static void io_put_req(struct io_kiocb *req)
|
||||
{
|
||||
if (refcount_dec_and_test(&req->refs))
|
||||
io_free_req(req, NULL);
|
||||
io_free_req(req);
|
||||
}
|
||||
|
||||
static void io_double_put_req(struct io_kiocb *req)
|
||||
@ -1006,7 +1011,7 @@ static void io_iopoll_complete(struct io_ring_ctx *ctx, unsigned int *nr_events,
|
||||
if (to_free == ARRAY_SIZE(reqs))
|
||||
io_free_req_many(ctx, reqs, &to_free);
|
||||
} else {
|
||||
io_free_req(req, NULL);
|
||||
io_free_req(req);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user