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

omfs_lookup(): report IO errors, use d_splice_alias()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 18fbbfc2 04bb1ba1

+3 -4
+3 -4
fs/omfs/dir.c
··· 305 305 ino_t ino = be64_to_cpu(oi->i_head.h_self); 306 306 brelse(bh); 307 307 inode = omfs_iget(dir->i_sb, ino); 308 - if (IS_ERR(inode)) 309 - return ERR_CAST(inode); 308 + } else if (bh != ERR_PTR(-ENOENT)) { 309 + inode = ERR_CAST(bh); 310 310 } 311 - d_add(dentry, inode); 312 - return NULL; 311 + return d_splice_alias(inode, dentry); 313 312 } 314 313 315 314 /* sanity check block's self pointer */