diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2018-06-24 10:45:44 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2018-08-05 15:50:59 -0400 |
commit | 1401a0fc2d47988677dc1dbfd56ff89daa323717 (patch) | |
tree | 8d8875d124057a28eabe0b2118013164de1d2b57 | |
parent | 34b2a88fb4aa4de34e1d5f9fc2761b746980f9b1 (diff) |
afs_try_auto_mntpt(): return NULL instead of ERR_PTR(-ENOENT)
simpler logics in callers that way
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/afs/dir.c | 2 | ||||
-rw-r--r-- | fs/afs/dynroot.c | 13 |
2 files changed, 2 insertions, 13 deletions
diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 52f44255f65d..855bf2b79fed 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c | |||
@@ -866,8 +866,6 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry, | |||
866 | key_put(key); | 866 | key_put(key); |
867 | if (inode == ERR_PTR(-ENOENT)) { | 867 | if (inode == ERR_PTR(-ENOENT)) { |
868 | inode = afs_try_auto_mntpt(dentry, dir); | 868 | inode = afs_try_auto_mntpt(dentry, dir); |
869 | if (inode == ERR_PTR(-ENOENT)) | ||
870 | inode = NULL; | ||
871 | } else { | 869 | } else { |
872 | dentry->d_fsdata = | 870 | dentry->d_fsdata = |
873 | (void *)(unsigned long)dvnode->status.data_version; | 871 | (void *)(unsigned long)dvnode->status.data_version; |
diff --git a/fs/afs/dynroot.c b/fs/afs/dynroot.c index 40fea59067b3..1cde710a8013 100644 --- a/fs/afs/dynroot.c +++ b/fs/afs/dynroot.c | |||
@@ -83,7 +83,7 @@ struct inode *afs_try_auto_mntpt(struct dentry *dentry, struct inode *dir) | |||
83 | 83 | ||
84 | out: | 84 | out: |
85 | _leave("= %d", ret); | 85 | _leave("= %d", ret); |
86 | return ERR_PTR(ret); | 86 | return ret == -ENOENT ? NULL : ERR_PTR(ret); |
87 | } | 87 | } |
88 | 88 | ||
89 | /* | 89 | /* |
@@ -141,11 +141,6 @@ out_p: | |||
141 | static struct dentry *afs_dynroot_lookup(struct inode *dir, struct dentry *dentry, | 141 | static struct dentry *afs_dynroot_lookup(struct inode *dir, struct dentry *dentry, |
142 | unsigned int flags) | 142 | unsigned int flags) |
143 | { | 143 | { |
144 | struct afs_vnode *vnode; | ||
145 | struct inode *inode; | ||
146 | |||
147 | vnode = AFS_FS_I(dir); | ||
148 | |||
149 | _enter("%pd", dentry); | 144 | _enter("%pd", dentry); |
150 | 145 | ||
151 | ASSERTCMP(d_inode(dentry), ==, NULL); | 146 | ASSERTCMP(d_inode(dentry), ==, NULL); |
@@ -159,11 +154,7 @@ static struct dentry *afs_dynroot_lookup(struct inode *dir, struct dentry *dentr | |||
159 | memcmp(dentry->d_name.name, "@cell", 5) == 0) | 154 | memcmp(dentry->d_name.name, "@cell", 5) == 0) |
160 | return afs_lookup_atcell(dentry); | 155 | return afs_lookup_atcell(dentry); |
161 | 156 | ||
162 | inode = afs_try_auto_mntpt(dentry, dir); | 157 | return d_splice_alias(afs_try_auto_mntpt(dentry, dir), dentry); |
163 | if (inode == ERR_PTR(-ENOENT)) | ||
164 | inode = NULL; | ||
165 | |||
166 | return d_splice_alias(inode, dentry); | ||
167 | } | 158 | } |
168 | 159 | ||
169 | const struct inode_operations afs_dynroot_inode_operations = { | 160 | const struct inode_operations afs_dynroot_inode_operations = { |