blob: 64acd52ffa94540aa8326ce9201cd4717e33381d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/*
* linux/include/asm-mips/namei.h
*
* Included from linux/fs/namei.c
*
* $Id: namei.h,v 1.6 1999/01/04 16:09:23 ralf Exp $
*/
#ifndef __ASM_MIPS_NAMEI_H
#define __ASM_MIPS_NAMEI_H
#include <linux/config.h>
/* Only one at this time. */
#define IRIX32_EMUL "usr/gnemul/irix/"
static inline struct dentry *
__mips_lookup_dentry(const char *name, int lookup_flags)
{
struct dentry *base;
if (current->personality != PER_IRIX32)
return ERR_PTR(-ENOENT);
base = lookup_dentry (IRIX32_EMUL,
dget (current->fs->root),
(LOOKUP_FOLLOW | LOOKUP_DIRECTORY));
if (IS_ERR (base)) return base;
base = lookup_dentry (name, base, lookup_flags);
if (IS_ERR (base)) return base;
if (!base->d_inode) {
dput(base);
return ERR_PTR(-ENOENT);
}
return base;
}
#ifdef CONFIG_BINFMT_IRIX
#define __prefix_lookup_dentry(name, lookup_flags) \
dentry = __mips_lookup_dentry (name, lookup_flags); \
if (!IS_ERR (dentry)) return dentry;
#else /* !defined(CONFIG_BINFMT_IRIX) */
#define __prefix_lookup_dentry(name, lookup_flags) \
do {} while (0)
#endif /* !defined(CONFIG_BINFMT_IRIX) */
#endif /* __ASM_MIPS_NAMEI_H */
|