]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/namei.h
Merge branch 'master' into tk71
[mv-sheeva.git] / include / linux / namei.h
index 05b441d9364202ff09ccaa4db7ca28044db30290..f276d4fa01fc886fe7a3dbff57733501d00eaece 100644 (file)
@@ -19,7 +19,10 @@ struct nameidata {
        struct path     path;
        struct qstr     last;
        struct path     root;
+       struct file     *file;
+       struct inode    *inode; /* path.dentry.d_inode */
        unsigned int    flags;
+       unsigned        seq;
        int             last_type;
        unsigned        depth;
        char *saved_names[MAX_NESTED_LINKS + 1];
@@ -41,14 +44,17 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
  *  - require a directory
  *  - ending slashes ok even for nonexistent files
  *  - internal "there are more path components" flag
- *  - locked when lookup done with dcache_lock held
  *  - dentry cache is untrusted; force a real lookup
+ *  - suppress terminal automount
  */
-#define LOOKUP_FOLLOW           1
-#define LOOKUP_DIRECTORY        2
-#define LOOKUP_CONTINUE                 4
-#define LOOKUP_PARENT          16
-#define LOOKUP_REVAL           64
+#define LOOKUP_FOLLOW          0x0001
+#define LOOKUP_DIRECTORY       0x0002
+#define LOOKUP_CONTINUE                0x0004
+
+#define LOOKUP_PARENT          0x0010
+#define LOOKUP_REVAL           0x0020
+#define LOOKUP_RCU             0x0040
+#define LOOKUP_NO_AUTOMOUNT    0x0080
 /*
  * Intent data
  */
@@ -75,7 +81,8 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry
 
 extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
 
-extern int follow_down(struct path *);
+extern int follow_down_one(struct path *);
+extern int follow_down(struct path *, bool);
 extern int follow_up(struct path *);
 
 extern struct dentry *lock_rename(struct dentry *, struct dentry *);