提交 e06eb6e5 编写于 作者: J Jens Axboe 提交者: Joseph Qi

fs: make build_open_flags() available internally

to #26323588

commit 35cb6d54c1d5daf1d1ed585ef5ce4557e7ab284c upstream.

This is a prep patch for supporting non-blocking open from io_uring.
Signed-off-by: NJens Axboe <axboe@kernel.dk>
Signed-off-by: NJoseph Qi <joseph.qi@linux.alibaba.com>
Acked-by: NXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
上级 5f7d3758
...@@ -117,6 +117,8 @@ extern struct file *do_filp_open(int dfd, struct filename *pathname, ...@@ -117,6 +117,8 @@ extern struct file *do_filp_open(int dfd, struct filename *pathname,
const struct open_flags *op); const struct open_flags *op);
extern struct file *do_file_open_root(struct dentry *, struct vfsmount *, extern struct file *do_file_open_root(struct dentry *, struct vfsmount *,
const char *, const struct open_flags *); const char *, const struct open_flags *);
extern struct open_how build_open_how(int flags, umode_t mode);
extern int build_open_flags(const struct open_how *how, struct open_flags *op);
long do_sys_ftruncate(unsigned int fd, loff_t length, int small); long do_sys_ftruncate(unsigned int fd, loff_t length, int small);
long do_faccessat(int dfd, const char __user *filename, int mode); long do_faccessat(int dfd, const char __user *filename, int mode);
......
...@@ -949,7 +949,7 @@ EXPORT_SYMBOL(open_with_fake_path); ...@@ -949,7 +949,7 @@ EXPORT_SYMBOL(open_with_fake_path);
#define WILL_CREATE(flags) (flags & (O_CREAT | __O_TMPFILE)) #define WILL_CREATE(flags) (flags & (O_CREAT | __O_TMPFILE))
#define O_PATH_FLAGS (O_DIRECTORY | O_NOFOLLOW | O_PATH | O_CLOEXEC) #define O_PATH_FLAGS (O_DIRECTORY | O_NOFOLLOW | O_PATH | O_CLOEXEC)
static inline struct open_how build_open_how(int flags, umode_t mode) inline struct open_how build_open_how(int flags, umode_t mode)
{ {
struct open_how how = { struct open_how how = {
.flags = flags & VALID_OPEN_FLAGS, .flags = flags & VALID_OPEN_FLAGS,
...@@ -965,8 +965,7 @@ static inline struct open_how build_open_how(int flags, umode_t mode) ...@@ -965,8 +965,7 @@ static inline struct open_how build_open_how(int flags, umode_t mode)
return how; return how;
} }
static inline int build_open_flags(const struct open_how *how, inline int build_open_flags(const struct open_how *how, struct open_flags *op)
struct open_flags *op)
{ {
int flags = how->flags; int flags = how->flags;
int lookup_flags = 0; int lookup_flags = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册