summaryrefslogtreecommitdiffstats
path: root/fs/internal.h
diff options
context:
space:
mode:
authorAl Viro2011-02-23 23:44:09 +0100
committerAl Viro2011-03-14 14:15:25 +0100
commit47c805dc2d2dff686962f5f0baa6bac2d703ba19 (patch)
treeb596e0a1aadb1550ef2099df95832196cd0eeda1 /fs/internal.h
parentCollect "operation mode" arguments of do_last() into a structure (diff)
downloadkernel-qcow2-linux-47c805dc2d2dff686962f5f0baa6bac2d703ba19.tar.gz
kernel-qcow2-linux-47c805dc2d2dff686962f5f0baa6bac2d703ba19.tar.xz
kernel-qcow2-linux-47c805dc2d2dff686962f5f0baa6bac2d703ba19.zip
switch do_filp_open() to struct open_flags
take calculation of open_flags by open(2) arguments into new helper in fs/open.c, move filp_open() over there, have it and do_sys_open() use that helper, switch exec.c callers of do_filp_open() to explicit (and constant) struct open_flags. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/internal.h')
-rw-r--r--fs/internal.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/internal.h b/fs/internal.h
index 9b976b57d7fe..6fdbdf2c6047 100644
--- a/fs/internal.h
+++ b/fs/internal.h
@@ -106,6 +106,14 @@ extern void put_super(struct super_block *sb);
struct nameidata;
extern struct file *nameidata_to_filp(struct nameidata *);
extern void release_open_intent(struct nameidata *);
+struct open_flags {
+ int open_flag;
+ int mode;
+ int acc_mode;
+ int intent;
+};
+extern struct file *do_filp_open(int dfd, const char *pathname,
+ const struct open_flags *op, int lookup_flags);
/*
* inode.c