Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

io_uring: convert iouring_cmd to io_cmd_type

Signed-off-by: Jens Axboe <axboe@kernel.dk>

+10 -8
+10 -8
io_uring/io_uring.c
··· 979 979 */ 980 980 struct file *file; 981 981 struct io_cmd_data cmd; 982 - struct io_uring_cmd uring_cmd; 983 982 }; 984 983 985 984 u8 opcode; ··· 4813 4814 4814 4815 static void io_uring_cmd_work(struct io_kiocb *req, bool *locked) 4815 4816 { 4816 - req->uring_cmd.task_work_cb(&req->uring_cmd); 4817 + struct io_uring_cmd *ioucmd = io_kiocb_to_cmd(req); 4818 + 4819 + ioucmd->task_work_cb(ioucmd); 4817 4820 } 4818 4821 4819 4822 void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd, 4820 4823 void (*task_work_cb)(struct io_uring_cmd *)) 4821 4824 { 4822 - struct io_kiocb *req = container_of(ioucmd, struct io_kiocb, uring_cmd); 4825 + struct io_kiocb *req = cmd_to_io_kiocb(ioucmd); 4823 4826 4824 - req->uring_cmd.task_work_cb = task_work_cb; 4827 + ioucmd->task_work_cb = task_work_cb; 4825 4828 req->io_task_work.func = io_uring_cmd_work; 4826 4829 io_req_task_work_add(req); 4827 4830 } ··· 4843 4842 */ 4844 4843 void io_uring_cmd_done(struct io_uring_cmd *ioucmd, ssize_t ret, ssize_t res2) 4845 4844 { 4846 - struct io_kiocb *req = container_of(ioucmd, struct io_kiocb, uring_cmd); 4845 + struct io_kiocb *req = cmd_to_io_kiocb(ioucmd); 4847 4846 4848 4847 if (ret < 0) 4849 4848 req_set_fail(req); ··· 4856 4855 4857 4856 static int io_uring_cmd_prep_async(struct io_kiocb *req) 4858 4857 { 4858 + struct io_uring_cmd *ioucmd = io_kiocb_to_cmd(req); 4859 4859 size_t cmd_size; 4860 4860 4861 4861 cmd_size = uring_cmd_pdu_size(req->ctx->flags & IORING_SETUP_SQE128); 4862 4862 4863 - memcpy(req->async_data, req->uring_cmd.cmd, cmd_size); 4863 + memcpy(req->async_data, ioucmd->cmd, cmd_size); 4864 4864 return 0; 4865 4865 } 4866 4866 4867 4867 static int io_uring_cmd_prep(struct io_kiocb *req, 4868 4868 const struct io_uring_sqe *sqe) 4869 4869 { 4870 - struct io_uring_cmd *ioucmd = &req->uring_cmd; 4870 + struct io_uring_cmd *ioucmd = io_kiocb_to_cmd(req); 4871 4871 4872 4872 if (sqe->rw_flags || sqe->__pad1) 4873 4873 return -EINVAL; ··· 4879 4877 4880 4878 static int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags) 4881 4879 { 4882 - struct io_uring_cmd *ioucmd = &req->uring_cmd; 4880 + struct io_uring_cmd *ioucmd = io_kiocb_to_cmd(req); 4883 4881 struct io_ring_ctx *ctx = req->ctx; 4884 4882 struct file *file = req->file; 4885 4883 int ret;