aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/dcache.h11
-rw-r--r--include/linux/namei.h3
2 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index ee6c26d142c3..1a87760d6532 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -168,6 +168,7 @@ struct dentry_operations {
168 void (*d_iput)(struct dentry *, struct inode *); 168 void (*d_iput)(struct dentry *, struct inode *);
169 char *(*d_dname)(struct dentry *, char *, int); 169 char *(*d_dname)(struct dentry *, char *, int);
170 struct vfsmount *(*d_automount)(struct path *); 170 struct vfsmount *(*d_automount)(struct path *);
171 int (*d_manage)(struct dentry *, bool);
171} ____cacheline_aligned; 172} ____cacheline_aligned;
172 173
173/* 174/*
@@ -214,8 +215,9 @@ struct dentry_operations {
214 215
215#define DCACHE_MOUNTED 0x10000 /* is a mountpoint */ 216#define DCACHE_MOUNTED 0x10000 /* is a mountpoint */
216#define DCACHE_NEED_AUTOMOUNT 0x20000 /* handle automount on this dir */ 217#define DCACHE_NEED_AUTOMOUNT 0x20000 /* handle automount on this dir */
218#define DCACHE_MANAGE_TRANSIT 0x40000 /* manage transit from this dirent */
217#define DCACHE_MANAGED_DENTRY \ 219#define DCACHE_MANAGED_DENTRY \
218 (DCACHE_MOUNTED|DCACHE_NEED_AUTOMOUNT) 220 (DCACHE_MOUNTED|DCACHE_NEED_AUTOMOUNT|DCACHE_MANAGE_TRANSIT)
219 221
220extern seqlock_t rename_lock; 222extern seqlock_t rename_lock;
221 223
@@ -404,7 +406,12 @@ static inline void dont_mount(struct dentry *dentry)
404 406
405extern void dput(struct dentry *); 407extern void dput(struct dentry *);
406 408
407static inline int d_mountpoint(struct dentry *dentry) 409static inline bool d_managed(struct dentry *dentry)
410{
411 return dentry->d_flags & DCACHE_MANAGED_DENTRY;
412}
413
414static inline bool d_mountpoint(struct dentry *dentry)
408{ 415{
409 return dentry->d_flags & DCACHE_MOUNTED; 416 return dentry->d_flags & DCACHE_MOUNTED;
410} 417}
diff --git a/include/linux/namei.h b/include/linux/namei.h
index 18d06add0a40..8ef2c789c2a8 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -79,7 +79,8 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry
79 79
80extern struct dentry *lookup_one_len(const char *, struct dentry *, int); 80extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
81 81
82extern int follow_down(struct path *); 82extern int follow_down_one(struct path *);
83extern int follow_down(struct path *, bool);
83extern int follow_up(struct path *); 84extern int follow_up(struct path *);
84 85
85extern struct dentry *lock_rename(struct dentry *, struct dentry *); 86extern struct dentry *lock_rename(struct dentry *, struct dentry *);