omfs_lookup(): report IO errors, use d_splice_alias()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
04bb1ba141
commit
18fbbfc2bf
@ -305,11 +305,10 @@ static struct dentry *omfs_lookup(struct inode *dir, struct dentry *dentry,
|
|||||||
ino_t ino = be64_to_cpu(oi->i_head.h_self);
|
ino_t ino = be64_to_cpu(oi->i_head.h_self);
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
inode = omfs_iget(dir->i_sb, ino);
|
inode = omfs_iget(dir->i_sb, ino);
|
||||||
if (IS_ERR(inode))
|
} else if (bh != ERR_PTR(-ENOENT)) {
|
||||||
return ERR_CAST(inode);
|
inode = ERR_CAST(bh);
|
||||||
}
|
}
|
||||||
d_add(dentry, inode);
|
return d_splice_alias(inode, dentry);
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* sanity check block's self pointer */
|
/* sanity check block's self pointer */
|
||||||
|
Loading…
Reference in New Issue
Block a user