summaryrefslogtreecommitdiffstats
path: root/fs/ufs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-07-17 10:07:34 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-07-17 23:21:35 -0400
commit642c937b4ed2e51d2f2e4c46ab7cd8b5bddf268b (patch)
tree37a1346f5a907ed052bd5f5ab44a3e6668cc12d3 /fs/ufs
parenta803b8067e317832d6a251c5b0486e36a4f81922 (diff)
downloadop-kernel-dev-642c937b4ed2e51d2f2e4c46ab7cd8b5bddf268b.zip
op-kernel-dev-642c937b4ed2e51d2f2e4c46ab7cd8b5bddf268b.tar.gz
ufs should use d_splice_alias()
it's NFS-exportable, so... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ufs')
-rw-r--r--fs/ufs/namei.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/ufs/namei.c b/fs/ufs/namei.c
index 29309e2..b57aab9 100644
--- a/fs/ufs/namei.c
+++ b/fs/ufs/namei.c
@@ -56,16 +56,12 @@ static struct dentry *ufs_lookup(struct inode * dir, struct dentry *dentry, stru
lock_ufs(dir->i_sb);
ino = ufs_inode_by_name(dir, &dentry->d_name);
- if (ino) {
+ if (ino)
inode = ufs_iget(dir->i_sb, ino);
- if (IS_ERR(inode)) {
- unlock_ufs(dir->i_sb);
- return ERR_CAST(inode);
- }
- }
unlock_ufs(dir->i_sb);
- d_add(dentry, inode);
- return NULL;
+ if (IS_ERR(inode))
+ return ERR_CAST(inode);
+ return d_splice_alias(inode, dentry);
}
/*
OpenPOWER on IntegriCloud