38 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * QNX6 file system, Linux implementation.4 *5 * Version : 1.0.06 *7 * History :8 *9 * 01-02-2012 by Kai Bankett (chaosman@ontika.net) : first release.10 * 16-02-2012 pagemap extension by Al Viro11 *12 */13 14#include "qnx6.h"15 16struct dentry *qnx6_lookup(struct inode *dir, struct dentry *dentry,17 unsigned int flags)18{19 unsigned ino;20 struct inode *foundinode = NULL;21 const char *name = dentry->d_name.name;22 int len = dentry->d_name.len;23 24 if (len > QNX6_LONG_NAME_MAX)25 return ERR_PTR(-ENAMETOOLONG);26 27 ino = qnx6_find_ino(len, dir, name);28 if (ino) {29 foundinode = qnx6_iget(dir->i_sb, ino);30 if (IS_ERR(foundinode))31 pr_debug("lookup->iget -> error %ld\n",32 PTR_ERR(foundinode));33 } else {34 pr_debug("%s(): not found %s\n", __func__, name);35 }36 return d_splice_alias(foundinode, dentry);37}38