Lines Matching refs:req

45 static int __io_openat_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
47 struct io_open *open = io_kiocb_to_cmd(req, struct io_open);
53 if (unlikely(req->flags & REQ_F_FIXED_FILE))
74 req->flags |= REQ_F_NEED_CLEANUP;
76 req->flags |= REQ_F_FORCE_ASYNC;
80 int io_openat_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
82 struct io_open *open = io_kiocb_to_cmd(req, struct io_open);
87 return __io_openat_prep(req, sqe);
90 int io_openat2_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
92 struct io_open *open = io_kiocb_to_cmd(req, struct io_open);
106 return __io_openat_prep(req, sqe);
109 int io_openat2(struct io_kiocb *req, unsigned int issue_flags)
111 struct io_open *open = io_kiocb_to_cmd(req, struct io_open);
159 ret = io_fixed_fd_install(req, issue_flags, file,
163 req->flags &= ~REQ_F_NEED_CLEANUP;
165 req_set_fail(req);
166 io_req_set_res(req, ret, 0);
170 int io_openat(struct io_kiocb *req, unsigned int issue_flags)
172 return io_openat2(req, issue_flags);
175 void io_open_cleanup(struct io_kiocb *req)
177 struct io_open *open = io_kiocb_to_cmd(req, struct io_open);
195 static inline int io_close_fixed(struct io_kiocb *req, unsigned int issue_flags)
197 struct io_close *close = io_kiocb_to_cmd(req, struct io_close);
199 return __io_close_fixed(req->ctx, issue_flags, close->file_slot - 1);
202 int io_close_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
204 struct io_close *close = io_kiocb_to_cmd(req, struct io_close);
208 if (req->flags & REQ_F_FIXED_FILE)
219 int io_close(struct io_kiocb *req, unsigned int issue_flags)
222 struct io_close *close = io_kiocb_to_cmd(req, struct io_close);
228 ret = io_close_fixed(req, issue_flags);
260 req_set_fail(req);
261 io_req_set_res(req, ret, 0);