diff options
author | Jens Axboe <axboe@kernel.dk> | 2024-03-07 12:53:24 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-03-08 07:56:27 -0700 |
commit | 186daf2385295acf19ecf48f4d5214cc2d925933 (patch) | |
tree | b630fe6f56ce7e0d86497a5e78388f50d7609cb4 /io_uring/kbuf.h | |
parent | 9817ad85899fb695f875610fb743cb18cf087582 (diff) | |
download | linux-stable-186daf2385295acf19ecf48f4d5214cc2d925933.tar.gz linux-stable-186daf2385295acf19ecf48f4d5214cc2d925933.tar.bz2 linux-stable-186daf2385295acf19ecf48f4d5214cc2d925933.zip |
io_uring/kbuf: rename REQ_F_PARTIAL_IO to REQ_F_BL_NO_RECYCLE
We only use the flag for this purpose, so rename it accordingly. This
further prevents various other use cases of it, keeping it clean and
consistent. Then we can also check it in one spot, when it's being
attempted recycled, and remove some dead code in io_kbuf_recycle_ring().
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/kbuf.h')
-rw-r--r-- | io_uring/kbuf.h | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/io_uring/kbuf.h b/io_uring/kbuf.h index f74c910b83f4..5218bfd79e87 100644 --- a/io_uring/kbuf.h +++ b/io_uring/kbuf.h @@ -73,21 +73,9 @@ static inline bool io_kbuf_recycle_ring(struct io_kiocb *req) * to monopolize the buffer. */ if (req->buf_list) { - if (req->flags & REQ_F_PARTIAL_IO) { - /* - * If we end up here, then the io_uring_lock has - * been kept held since we retrieved the buffer. - * For the io-wq case, we already cleared - * req->buf_list when the buffer was retrieved, - * hence it cannot be set here for that case. - */ - req->buf_list->head++; - req->buf_list = NULL; - } else { - req->buf_index = req->buf_list->bgid; - req->flags &= ~REQ_F_BUFFER_RING; - return true; - } + req->buf_index = req->buf_list->bgid; + req->flags &= ~REQ_F_BUFFER_RING; + return true; } return false; } @@ -101,6 +89,8 @@ static inline bool io_do_buffer_select(struct io_kiocb *req) static inline bool io_kbuf_recycle(struct io_kiocb *req, unsigned issue_flags) { + if (req->flags & REQ_F_BL_NO_RECYCLE) + return false; if (req->flags & REQ_F_BUFFER_SELECTED) return io_kbuf_recycle_legacy(req, issue_flags); if (req->flags & REQ_F_BUFFER_RING) |