summaryrefslogtreecommitdiff
path: root/fs/cifs/cifsfs.h
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2012-06-05 15:10:23 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-14 16:33:15 +0400
commitd2c127197dfc0b2bae62a52e1e0d3e3ff493919e (patch)
tree75a30530499790ace8af09f9442f111f59564647 /fs/cifs/cifsfs.h
parentc8ccbe032feb127a977c66865cb63d72d9a6e08b (diff)
downloadkernel-common-d2c127197dfc0b2bae62a52e1e0d3e3ff493919e.tar.gz
kernel-common-d2c127197dfc0b2bae62a52e1e0d3e3ff493919e.tar.bz2
kernel-common-d2c127197dfc0b2bae62a52e1e0d3e3ff493919e.zip
cifs: 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: Steve French <sfrench@samba.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/cifs/cifsfs.h')
-rw-r--r--fs/cifs/cifsfs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h
index 65365358c976..3a572bf5947f 100644
--- a/fs/cifs/cifsfs.h
+++ b/fs/cifs/cifsfs.h
@@ -46,6 +46,9 @@ extern const struct inode_operations cifs_dir_inode_ops;
extern struct inode *cifs_root_iget(struct super_block *);
extern int cifs_create(struct inode *, struct dentry *, umode_t,
struct nameidata *);
+extern struct file *cifs_atomic_open(struct inode *, struct dentry *,
+ struct opendata *, unsigned, umode_t,
+ bool *);
extern struct dentry *cifs_lookup(struct inode *, struct dentry *,
struct nameidata *);
extern int cifs_unlink(struct inode *dir, struct dentry *dentry);