summaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2012-06-05 15:10:25 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-14 16:33:16 +0400
commit2d83bde9a16e18eafdc73a3a1f4a8eb110e49672 (patch)
tree04e2277dba94d252f4b74cf1acb728880b606c2e /fs/ceph/super.h
parent3819219b592159725069eb16a7a46f58e4ecef32 (diff)
downloadlinux-stable-2d83bde9a16e18eafdc73a3a1f4a8eb110e49672.tar.gz
linux-stable-2d83bde9a16e18eafdc73a3a1f4a8eb110e49672.tar.bz2
linux-stable-2d83bde9a16e18eafdc73a3a1f4a8eb110e49672.zip
ceph: implement i_op->atomic_open()
Add an ->atomic_open implementation which replaces the atomic lookup+open+create operation implemented via ->lookup and ->create operations. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> CC: Sage Weil <sage@newdream.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r--fs/ceph/super.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 8471db98b62c..e61e54673e56 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -806,8 +806,9 @@ extern int ceph_copy_from_page_vector(struct page **pages,
loff_t off, size_t len);
extern struct page **ceph_alloc_page_vector(int num_pages, gfp_t flags);
extern int ceph_open(struct inode *inode, struct file *file);
-extern struct dentry *ceph_lookup_open(struct inode *dir, struct dentry *dentry,
- struct nameidata *nd, int mode);
+extern struct file *ceph_lookup_open(struct inode *dir, struct dentry *dentry,
+ struct opendata *od, unsigned flags,
+ umode_t mode);
extern int ceph_release(struct inode *inode, struct file *filp);
/* dir.c */