diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-03-08 03:40:43 (GMT) |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-03-14 04:16:40 (GMT) |
commit | 130f9ab75dc3afdb96d49334bd941f2e6faf39a1 (patch) | |
tree | 67f39056be722e01937214d46bc9872e0397a4d0 | |
parent | 9d95afd5971918b1aa8db1960ba24532c2d6ec89 (diff) | |
download | linux-130f9ab75dc3afdb96d49334bd941f2e6faf39a1.tar.xz |
nfs_lookup: don't bother with d_instantiate(dentry, NULL)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/nfs/dir.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 9cce670..4bfa7d8 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1360,19 +1360,15 @@ struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, unsigned in dfprintk(VFS, "NFS: lookup(%pd2)\n", dentry); nfs_inc_stats(dir, NFSIOS_VFSLOOKUP); - res = ERR_PTR(-ENAMETOOLONG); - if (dentry->d_name.len > NFS_SERVER(dir)->namelen) - goto out; + if (unlikely(dentry->d_name.len > NFS_SERVER(dir)->namelen)) + return ERR_PTR(-ENAMETOOLONG); /* * If we're doing an exclusive create, optimize away the lookup * but don't hash the dentry. */ - if (nfs_is_exclusive_create(dir, flags)) { - d_instantiate(dentry, NULL); - res = NULL; - goto out; - } + if (nfs_is_exclusive_create(dir, flags)) + return NULL; res = ERR_PTR(-ENOMEM); fhandle = nfs_alloc_fhandle(); |