|
@@ -29,15 +29,11 @@ struct dentry *qnx6_lookup(struct inode *dir, struct dentry *dentry,
|
|
|
if (ino) {
|
|
|
foundinode = qnx6_iget(dir->i_sb, ino);
|
|
|
qnx6_put_page(page);
|
|
|
- if (IS_ERR(foundinode)) {
|
|
|
+ if (IS_ERR(foundinode))
|
|
|
pr_debug("lookup->iget -> error %ld\n",
|
|
|
PTR_ERR(foundinode));
|
|
|
- return ERR_CAST(foundinode);
|
|
|
- }
|
|
|
} else {
|
|
|
pr_debug("%s(): not found %s\n", __func__, name);
|
|
|
- return NULL;
|
|
|
}
|
|
|
- d_add(dentry, foundinode);
|
|
|
- return NULL;
|
|
|
+ return d_splice_alias(foundinode, dentry);
|
|
|
}
|