Commit 35cb6d54 authored by Jens Axboe's avatar Jens Axboe
Browse files

fs: make build_open_flags() available internally



This is a prep patch for supporting non-blocking open from io_uring.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d63d1b5e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -124,6 +124,8 @@ extern struct file *do_filp_open(int dfd, struct filename *pathname,
		const struct open_flags *op);
extern struct file *do_file_open_root(struct dentry *, struct vfsmount *,
		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_faccessat(int dfd, const char __user *filename, int mode);
+2 −3
Original line number Diff line number Diff line
@@ -958,7 +958,7 @@ EXPORT_SYMBOL(open_with_fake_path);
#define WILL_CREATE(flags)	(flags & (O_CREAT | __O_TMPFILE))
#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 = {
		.flags = flags & VALID_OPEN_FLAGS,
@@ -974,8 +974,7 @@ static inline struct open_how build_open_how(int flags, umode_t mode)
	return how;
}

static inline int build_open_flags(const struct open_how *how,
				   struct open_flags *op)
inline int build_open_flags(const struct open_how *how, struct open_flags *op)
{
	int flags = how->flags;
	int lookup_flags = 0;