io_uring/cmd: Pass compat mode in issue_flags
Create a new flag to track if the operation is running compat mode. This basically check the context->compat and pass it to the issue_flags, so, it could be queried later in the callbacks. Signed-off-by: Breno Leitao <leitao@debian.org> Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de> Link: https://lore.kernel.org/r/20231016134750.1381153-6-leitao@debian.org Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
0b05b0cd78
commit
5fea44a6e0
@ -23,6 +23,7 @@ enum io_uring_cmd_flags {
|
|||||||
|
|
||||||
/* set when uring wants to cancel a previously issued command */
|
/* set when uring wants to cancel a previously issued command */
|
||||||
IO_URING_F_CANCEL = (1 << 11),
|
IO_URING_F_CANCEL = (1 << 11),
|
||||||
|
IO_URING_F_COMPAT = (1 << 12),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* only top 8 bits of sqe->uring_cmd_flags for kernel internal use */
|
/* only top 8 bits of sqe->uring_cmd_flags for kernel internal use */
|
||||||
|
@ -175,6 +175,8 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
|
|||||||
issue_flags |= IO_URING_F_SQE128;
|
issue_flags |= IO_URING_F_SQE128;
|
||||||
if (ctx->flags & IORING_SETUP_CQE32)
|
if (ctx->flags & IORING_SETUP_CQE32)
|
||||||
issue_flags |= IO_URING_F_CQE32;
|
issue_flags |= IO_URING_F_CQE32;
|
||||||
|
if (ctx->compat)
|
||||||
|
issue_flags |= IO_URING_F_COMPAT;
|
||||||
if (ctx->flags & IORING_SETUP_IOPOLL) {
|
if (ctx->flags & IORING_SETUP_IOPOLL) {
|
||||||
if (!file->f_op->uring_cmd_iopoll)
|
if (!file->f_op->uring_cmd_iopoll)
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
Loading…
Reference in New Issue
Block a user