diff --git a/[refs] b/[refs] index 6ec561d293d0..7126908ff800 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a803b8067e317832d6a251c5b0486e36a4f81922 +refs/heads/master: 642c937b4ed2e51d2f2e4c46ab7cd8b5bddf268b diff --git a/trunk/fs/ufs/namei.c b/trunk/fs/ufs/namei.c index 29309e25417f..b57aab9a1184 100644 --- a/trunk/fs/ufs/namei.c +++ b/trunk/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); } /*