Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

Al Viro 5bf35449 b135dcea

+2 -7
+2 -7
fs/sysv/namei.c
··· 51 51 if (dentry->d_name.len > SYSV_NAMELEN) 52 52 return ERR_PTR(-ENAMETOOLONG); 53 53 ino = sysv_inode_by_name(dentry); 54 - 55 - if (ino) { 54 + if (ino) 56 55 inode = sysv_iget(dir->i_sb, ino); 57 - if (IS_ERR(inode)) 58 - return ERR_CAST(inode); 59 - } 60 - d_add(dentry, inode); 61 - return NULL; 56 + return d_splice_alias(inode, dentry); 62 57 } 63 58 64 59 static int sysv_mknod(struct inode * dir, struct dentry * dentry, umode_t mode, dev_t rdev)