Skip to content

Commit 296e169

Browse files
isilenceaxboe
authored andcommitted
io_uring: hide caches sqes from drivers
There is now an io_uring private part of cmd async_data, move saved sqe into it. Drivers are accessing it via struct io_uring_cmd::cmd. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/ecbe078dd57acefdbc4366d083327086c0879378.1743357121.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 487a071 commit 296e169

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

include/linux/io_uring/cmd.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ struct io_uring_cmd {
2121

2222
struct io_uring_cmd_data {
2323
void *op_data;
24-
struct io_uring_sqe sqes[2];
2524
};
2625

2726
static inline const void *io_uring_sqe_cmd(const struct io_uring_sqe *sqe)

io_uring/uring_cmd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,8 @@ static int io_uring_cmd_prep_setup(struct io_kiocb *req,
205205
* that it doesn't read in per-op data, play it safe and ensure that
206206
* any SQE data is stable beyond prep. This can later get relaxed.
207207
*/
208-
memcpy(ac->data.sqes, sqe, uring_sqe_size(req->ctx));
209-
ioucmd->sqe = ac->data.sqes;
208+
memcpy(ac->sqes, sqe, uring_sqe_size(req->ctx));
209+
ioucmd->sqe = ac->sqes;
210210
return 0;
211211
}
212212

io_uring/uring_cmd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
struct io_async_cmd {
77
struct io_uring_cmd_data data;
88
struct iou_vec vec;
9+
struct io_uring_sqe sqes[2];
910
};
1011

1112
int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags);

0 commit comments

Comments
 (0)