aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-06-10 05:01:45 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-14 08:33:31 -0400
commit47237687d73cbeae1dd7a133c3fc3d7239094568 (patch)
tree1d267d03246f0a16cbff3c8221ee69dd1521f835 /include/linux/fs.h
parenta8277b9baa6268de386529a33061775bc716198b (diff)
->atomic_open() prototype change - pass int * instead of bool *
... and let finish_open() report having opened the file via that sucker. Next step: don't modify od->filp at all. [AV: FILE_CREATE was already used by cifs; Miklos' fix folded] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 0314635cf833..a7618cf28d0e 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1696,7 +1696,7 @@ struct inode_operations {
1696 int (*update_time)(struct inode *, struct timespec *, int); 1696 int (*update_time)(struct inode *, struct timespec *, int);
1697 struct file * (*atomic_open)(struct inode *, struct dentry *, 1697 struct file * (*atomic_open)(struct inode *, struct dentry *,
1698 struct opendata *, unsigned open_flag, 1698 struct opendata *, unsigned open_flag,
1699 umode_t create_mode, bool *created); 1699 umode_t create_mode, int *opened);
1700} ____cacheline_aligned; 1700} ____cacheline_aligned;
1701 1701
1702struct seq_file; 1702struct seq_file;
@@ -2065,8 +2065,13 @@ extern struct file * dentry_open(struct dentry *, struct vfsmount *, int,
2065 const struct cred *); 2065 const struct cred *);
2066extern int filp_close(struct file *, fl_owner_t id); 2066extern int filp_close(struct file *, fl_owner_t id);
2067extern char * getname(const char __user *); 2067extern char * getname(const char __user *);
2068enum {
2069 FILE_CREATED = 1,
2070 FILE_OPENED = 2
2071};
2068extern struct file *finish_open(struct opendata *od, struct dentry *dentry, 2072extern struct file *finish_open(struct opendata *od, struct dentry *dentry,
2069 int (*open)(struct inode *, struct file *)); 2073 int (*open)(struct inode *, struct file *),
2074 int *opened);
2070extern void finish_no_open(struct opendata *od, struct dentry *dentry); 2075extern void finish_no_open(struct opendata *od, struct dentry *dentry);
2071 2076
2072/* fs/ioctl.c */ 2077/* fs/ioctl.c */