diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2018-04-30 20:09:10 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2018-05-22 14:27:53 -0400 |
commit | 5bf3544970eb23a6470fe97c7cc37246509277e2 (patch) | |
tree | 9dfb199b6775b03995fc8e0d1ba898328f268c00 /fs/sysv | |
parent | b135dcea37d1506332796a6ff48fc30be7c5e384 (diff) | |
download | lwn-5bf3544970eb23a6470fe97c7cc37246509277e2.tar.gz lwn-5bf3544970eb23a6470fe97c7cc37246509277e2.zip |
sysv_lookup: use d_splice_alias()
code is simpler that way
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/sysv')
-rw-r--r-- | fs/sysv/namei.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/fs/sysv/namei.c b/fs/sysv/namei.c index 250b0755b908..4d5d20491ffd 100644 --- a/fs/sysv/namei.c +++ b/fs/sysv/namei.c @@ -51,14 +51,9 @@ static struct dentry *sysv_lookup(struct inode * dir, struct dentry * dentry, un if (dentry->d_name.len > SYSV_NAMELEN) return ERR_PTR(-ENAMETOOLONG); ino = sysv_inode_by_name(dentry); - - if (ino) { + if (ino) inode = sysv_iget(dir->i_sb, ino); - if (IS_ERR(inode)) - return ERR_CAST(inode); - } - d_add(dentry, inode); - return NULL; + return d_splice_alias(inode, dentry); } static int sysv_mknod(struct inode * dir, struct dentry * dentry, umode_t mode, dev_t rdev) |