Lines Matching defs:msg

59 	struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
61 if (WARN_ON_ONCE(!msg->src_file))
64 fput(msg->src_file);
65 msg->src_file = NULL;
97 struct io_msg *msg)
106 if (msg->flags & IORING_MSG_RING_FLAGS_PASS)
107 flags = msg->cqe_flags;
109 io_msg_remote_post(target_ctx, target, msg->len, flags, msg->user_data);
114 struct io_msg *msg, unsigned int issue_flags)
119 if (msg->src_fd || msg->flags & ~IORING_MSG_RING_FLAGS_PASS)
121 if (!(msg->flags & IORING_MSG_RING_FLAGS_PASS) && msg->dst_fd)
131 return io_msg_data_remote(target_ctx, msg);
133 if (msg->flags & IORING_MSG_RING_FLAGS_PASS)
134 flags = msg->cqe_flags;
141 if (io_post_aux_cqe(target_ctx, msg->user_data, msg->len, flags))
151 struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
153 return __io_msg_ring_data(target_ctx, msg, issue_flags);
158 struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
164 node = io_rsrc_node_lookup(&ctx->file_table.data, msg->src_fd);
166 msg->src_file = io_slot_file(node);
167 if (msg->src_file)
168 get_file(msg->src_file);
179 struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
180 struct file *src_file = msg->src_file;
186 ret = __io_fixed_fd_install(target_ctx, src_file, msg->dst_fd);
190 msg->src_file = NULL;
193 if (msg->flags & IORING_MSG_RING_CQE_SKIP)
201 if (!io_post_aux_cqe(target_ctx, msg->user_data, ret, 0))
210 struct io_msg *msg = container_of(head, struct io_msg, tw);
211 struct io_kiocb *req = cmd_to_io_kiocb(msg);
224 struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
227 init_task_work(&msg->tw, io_msg_tw_fd_complete);
228 if (task_work_add(task, &msg->tw, TWA_SIGNAL))
237 struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
240 if (msg->len)
250 if (!msg->src_file) {
261 static int __io_msg_ring_prep(struct io_msg *msg, const struct io_uring_sqe *sqe)
266 msg->src_file = NULL;
267 msg->user_data = READ_ONCE(sqe->off);
268 msg->len = READ_ONCE(sqe->len);
269 msg->cmd = READ_ONCE(sqe->addr);
270 msg->src_fd = READ_ONCE(sqe->addr3);
271 msg->dst_fd = READ_ONCE(sqe->file_index);
272 msg->flags = READ_ONCE(sqe->msg_ring_flags);
273 if (msg->flags & ~IORING_MSG_RING_MASK)
286 struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
293 switch (msg->cmd) {