aboutsummaryrefslogtreecommitdiffstats
path: root/fs/9p/vfs_inode.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-06-22 04:39:14 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-14 08:33:35 -0400
commitd95852777bc8ba6b3ad3397d495c5f9dd8ca8383 (patch)
tree96e9d8b1d33c4f6f7b5ba5be0fa4fd8f77c7a67f /fs/9p/vfs_inode.c
parent3d8a00d2099ebc6d5a6e95fadaf861709d9919a8 (diff)
make ->atomic_open() return int
Change of calling conventions: old new NULL 1 file 0 ERR_PTR(-ve) -ve Caller *knows* that struct file *; no need to return it. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/9p/vfs_inode.c')
-rw-r--r--fs/9p/vfs_inode.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index de626b3b342f..62ce8daefa95 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -856,7 +856,7 @@ error:
856 return ERR_PTR(result); 856 return ERR_PTR(result);
857} 857}
858 858
859static struct file * 859static int
860v9fs_vfs_atomic_open(struct inode *dir, struct dentry *dentry, 860v9fs_vfs_atomic_open(struct inode *dir, struct dentry *dentry,
861 struct opendata *od, unsigned flags, umode_t mode, 861 struct opendata *od, unsigned flags, umode_t mode,
862 int *opened) 862 int *opened)
@@ -872,7 +872,7 @@ v9fs_vfs_atomic_open(struct inode *dir, struct dentry *dentry,
872 if (d_unhashed(dentry)) { 872 if (d_unhashed(dentry)) {
873 res = v9fs_vfs_lookup(dir, dentry, NULL); 873 res = v9fs_vfs_lookup(dir, dentry, NULL);
874 if (IS_ERR(res)) 874 if (IS_ERR(res))
875 return ERR_CAST(res); 875 return PTR_ERR(res);
876 876
877 if (res) 877 if (res)
878 dentry = res; 878 dentry = res;
@@ -881,7 +881,7 @@ v9fs_vfs_atomic_open(struct inode *dir, struct dentry *dentry,
881 /* Only creates */ 881 /* Only creates */
882 if (!(flags & O_CREAT) || dentry->d_inode) { 882 if (!(flags & O_CREAT) || dentry->d_inode) {
883 finish_no_open(od, res); 883 finish_no_open(od, res);
884 return NULL; 884 return 1;
885 } 885 }
886 886
887 err = 0; 887 err = 0;
@@ -933,13 +933,11 @@ v9fs_vfs_atomic_open(struct inode *dir, struct dentry *dentry,
933 *opened |= FILE_CREATED; 933 *opened |= FILE_CREATED;
934out: 934out:
935 dput(res); 935 dput(res);
936 return filp; 936 return err;
937 937
938error: 938error:
939 if (fid) 939 if (fid)
940 p9_client_clunk(fid); 940 p9_client_clunk(fid);
941
942 filp = ERR_PTR(err);
943 goto out; 941 goto out;
944} 942}
945 943