0561326a94f5d48551d68be18dccbb8ffe59fd38
2 * QNX6 file system, Linux implementation.
8 * 01-02-2012 by Kai Bankett (chaosman@ontika.net) : first release.
9 * 16-02-2012 pagemap extension by Al Viro
15 struct dentry
*qnx6_lookup(struct inode
*dir
, struct dentry
*dentry
,
20 struct inode
*foundinode
= NULL
;
21 const char *name
= dentry
->d_name
.name
;
22 int len
= dentry
->d_name
.len
;
24 if (len
> QNX6_LONG_NAME_MAX
)
25 return ERR_PTR(-ENAMETOOLONG
);
27 ino
= qnx6_find_entry(len
, dir
, name
, &page
);
29 foundinode
= qnx6_iget(dir
->i_sb
, ino
);
31 if (IS_ERR(foundinode
)) {
32 QNX6DEBUG((KERN_ERR
"qnx6: lookup->iget -> "
33 " error %ld\n", PTR_ERR(foundinode
)));
34 return ERR_CAST(foundinode
);
37 QNX6DEBUG((KERN_INFO
"qnx6_lookup: not found %s\n", name
));
40 d_add(dentry
, foundinode
);