Lines Matching refs:open
42 static bool io_openat_force_async(struct io_open *open) in io_openat_force_async() argument
50 return open->how.flags & (O_TRUNC | O_CREAT | __O_TMPFILE); in io_openat_force_async()
55 struct io_open *open = io_kiocb_to_cmd(req, struct io_open); in __io_openat_prep() local
65 if (!(open->how.flags & O_PATH) && force_o_largefile()) in __io_openat_prep()
66 open->how.flags |= O_LARGEFILE; in __io_openat_prep()
68 open->dfd = READ_ONCE(sqe->fd); in __io_openat_prep()
70 open->filename = getname(fname); in __io_openat_prep()
71 if (IS_ERR(open->filename)) { in __io_openat_prep()
72 ret = PTR_ERR(open->filename); in __io_openat_prep()
73 open->filename = NULL; in __io_openat_prep()
78 open->file_slot = READ_ONCE(sqe->file_index); in __io_openat_prep()
79 if (open->file_slot && (open->how.flags & O_CLOEXEC)) in __io_openat_prep()
82 open->nofile = rlimit(RLIMIT_NOFILE); in __io_openat_prep()
83 if (io_openat_force_async(open)) in __io_openat_prep()
90 struct io_open *open = io_kiocb_to_cmd(req, struct io_open); in io_openat_prep() local
94 open->how = build_open_how(flags, mode); in io_openat_prep()
100 struct io_open *open = io_kiocb_to_cmd(req, struct io_open); in io_openat2_prep() local
110 ret = copy_struct_from_user(&open->how, sizeof(open->how), how, len); in io_openat2_prep()
119 struct io_open *open = io_kiocb_to_cmd(req, struct io_open); in io_openat2() local
123 bool fixed = !!open->file_slot; in io_openat2()
126 ret = build_open_flags(&open->how, &op); in io_openat2()
130 resolve_nonblock = open->how.resolve & RESOLVE_CACHED; in io_openat2()
132 WARN_ON_ONCE(io_openat_force_async(open)); in io_openat2()
138 ret = __get_unused_fd_flags(open->how.flags, open->nofile); in io_openat2()
143 file = do_filp_open(open->dfd, open->filename, &op); in io_openat2()
168 open->file_slot); in io_openat2()
170 putname(open->filename); in io_openat2()
185 struct io_open *open = io_kiocb_to_cmd(req, struct io_open); in io_open_cleanup() local
187 if (open->filename) in io_open_cleanup()
188 putname(open->filename); in io_open_cleanup()