diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-22 04:39:14 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-14 08:33:35 -0400 |
commit | d95852777bc8ba6b3ad3397d495c5f9dd8ca8383 (patch) | |
tree | 96e9d8b1d33c4f6f7b5ba5be0fa4fd8f77c7a67f /fs/9p/vfs_inode.c | |
parent | 3d8a00d2099ebc6d5a6e95fadaf861709d9919a8 (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.c | 10 |
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 | ||
859 | static struct file * | 859 | static int |
860 | v9fs_vfs_atomic_open(struct inode *dir, struct dentry *dentry, | 860 | v9fs_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; |
934 | out: | 934 | out: |
935 | dput(res); | 935 | dput(res); |
936 | return filp; | 936 | return err; |
937 | 937 | ||
938 | error: | 938 | error: |
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 | ||