aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2011-06-01 10:57:14 +0200
committerJohn Rigby <john.rigby@linaro.org>2011-11-16 14:24:52 -0700
commit18bff9d16a1060c5d2fb9e24e2c9525133668475 (patch)
tree56cdf58520311cbf0aab9c8a46ef44943b99db82 /include/linux
parent83d038113e05cbad935e795653042da0d5ad0c4e (diff)
UBUNTU: ubuntu: overlayfs -- vfs: add i_op->open()
Add a new inode operation i_op->open(). This is for stacked filesystems that want to return a struct file from a different filesystem. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Andy Whitcroft <apw@canonical.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 277f497923a..bd859aec437 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1618,6 +1618,7 @@ struct inode_operations {
void (*truncate_range)(struct inode *, loff_t, loff_t);
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
u64 len);
+ struct file *(*open)(struct dentry *, int flags, const struct cred *);
} ____cacheline_aligned;
struct seq_file;
@@ -2022,6 +2023,7 @@ extern long do_sys_open(int dfd, const char __user *filename, int flags,
extern struct file *filp_open(const char *, int, int);
extern struct file *file_open_root(struct dentry *, struct vfsmount *,
const char *, int);
+extern struct file *vfs_open(struct path *, int flags, const struct cred *);
extern struct file * dentry_open(struct dentry *, struct vfsmount *, int,
const struct cred *);
extern int filp_close(struct file *, fl_owner_t id);