qnx6_lookup: switch to d_splice_alias()

... and hash negative lookups

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2018-04-30 23:07:15 -04:00
parent 191ac107f9
commit c1481700f4

View File

@ -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);
}