aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/namei.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/namei.h')
-rw-r--r--include/linux/namei.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/include/linux/namei.h b/include/linux/namei.h
index 05b441d93642..f276d4fa01fc 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -19,7 +19,10 @@ struct nameidata {
19 struct path path; 19 struct path path;
20 struct qstr last; 20 struct qstr last;
21 struct path root; 21 struct path root;
22 struct file *file;
23 struct inode *inode; /* path.dentry.d_inode */
22 unsigned int flags; 24 unsigned int flags;
25 unsigned seq;
23 int last_type; 26 int last_type;
24 unsigned depth; 27 unsigned depth;
25 char *saved_names[MAX_NESTED_LINKS + 1]; 28 char *saved_names[MAX_NESTED_LINKS + 1];
@@ -41,14 +44,17 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
41 * - require a directory 44 * - require a directory
42 * - ending slashes ok even for nonexistent files 45 * - ending slashes ok even for nonexistent files
43 * - internal "there are more path components" flag 46 * - internal "there are more path components" flag
44 * - locked when lookup done with dcache_lock held
45 * - dentry cache is untrusted; force a real lookup 47 * - dentry cache is untrusted; force a real lookup
48 * - suppress terminal automount
46 */ 49 */
47#define LOOKUP_FOLLOW 1 50#define LOOKUP_FOLLOW 0x0001
48#define LOOKUP_DIRECTORY 2 51#define LOOKUP_DIRECTORY 0x0002
49#define LOOKUP_CONTINUE 4 52#define LOOKUP_CONTINUE 0x0004
50#define LOOKUP_PARENT 16 53
51#define LOOKUP_REVAL 64 54#define LOOKUP_PARENT 0x0010
55#define LOOKUP_REVAL 0x0020
56#define LOOKUP_RCU 0x0040
57#define LOOKUP_NO_AUTOMOUNT 0x0080
52/* 58/*
53 * Intent data 59 * Intent data
54 */ 60 */
@@ -75,7 +81,8 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry
75 81
76extern struct dentry *lookup_one_len(const char *, struct dentry *, int); 82extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
77 83
78extern int follow_down(struct path *); 84extern int follow_down_one(struct path *);
85extern int follow_down(struct path *, bool);
79extern int follow_up(struct path *); 86extern int follow_up(struct path *);
80 87
81extern struct dentry *lock_rename(struct dentry *, struct dentry *); 88extern struct dentry *lock_rename(struct dentry *, struct dentry *);