aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pnode.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/pnode.h')
-rw-r--r--fs/pnode.h36
1 files changed, 22 insertions, 14 deletions
diff --git a/fs/pnode.h b/fs/pnode.h
index 1ea4ae1efcd..65c60979d54 100644
--- a/fs/pnode.h
+++ b/fs/pnode.h
@@ -9,13 +9,13 @@
9#define _LINUX_PNODE_H 9#define _LINUX_PNODE_H
10 10
11#include <linux/list.h> 11#include <linux/list.h>
12#include <linux/mount.h> 12#include "mount.h"
13 13
14#define IS_MNT_SHARED(mnt) (mnt->mnt_flags & MNT_SHARED) 14#define IS_MNT_SHARED(m) ((m)->mnt.mnt_flags & MNT_SHARED)
15#define IS_MNT_SLAVE(mnt) (mnt->mnt_master) 15#define IS_MNT_SLAVE(m) ((m)->mnt_master)
16#define IS_MNT_NEW(mnt) (!mnt->mnt_ns) 16#define IS_MNT_NEW(m) (!(m)->mnt_ns)
17#define CLEAR_MNT_SHARED(mnt) (mnt->mnt_flags &= ~MNT_SHARED) 17#define CLEAR_MNT_SHARED(m) ((m)->mnt.mnt_flags &= ~MNT_SHARED)
18#define IS_MNT_UNBINDABLE(mnt) (mnt->mnt_flags & MNT_UNBINDABLE) 18#define IS_MNT_UNBINDABLE(m) ((m)->mnt.mnt_flags & MNT_UNBINDABLE)
19 19
20#define CL_EXPIRE 0x01 20#define CL_EXPIRE 0x01
21#define CL_SLAVE 0x02 21#define CL_SLAVE 0x02
@@ -23,17 +23,25 @@
23#define CL_MAKE_SHARED 0x08 23#define CL_MAKE_SHARED 0x08
24#define CL_PRIVATE 0x10 24#define CL_PRIVATE 0x10
25 25
26static inline void set_mnt_shared(struct vfsmount *mnt) 26static inline void set_mnt_shared(struct mount *mnt)
27{ 27{
28 mnt->mnt_flags &= ~MNT_SHARED_MASK; 28 mnt->mnt.mnt_flags &= ~MNT_SHARED_MASK;
29 mnt->mnt_flags |= MNT_SHARED; 29 mnt->mnt.mnt_flags |= MNT_SHARED;
30} 30}
31 31
32void change_mnt_propagation(struct vfsmount *, int); 32void change_mnt_propagation(struct mount *, int);
33int propagate_mnt(struct vfsmount *, struct dentry *, struct vfsmount *, 33int propagate_mnt(struct mount *, struct dentry *, struct mount *,
34 struct list_head *); 34 struct list_head *);
35int propagate_umount(struct list_head *); 35int propagate_umount(struct list_head *);
36int propagate_mount_busy(struct vfsmount *, int); 36int propagate_mount_busy(struct mount *, int);
37void mnt_release_group_id(struct vfsmount *); 37void mnt_release_group_id(struct mount *);
38int get_dominating_id(struct vfsmount *mnt, const struct path *root); 38int get_dominating_id(struct mount *mnt, const struct path *root);
39unsigned int mnt_get_count(struct mount *mnt);
40void mnt_set_mountpoint(struct mount *, struct dentry *,
41 struct mount *);
42void release_mounts(struct list_head *);
43void umount_tree(struct mount *, int, struct list_head *);
44struct mount *copy_tree(struct mount *, struct dentry *, int);
45bool is_path_reachable(struct mount *, struct dentry *,
46 const struct path *root);
39#endif /* _LINUX_PNODE_H */ 47#endif /* _LINUX_PNODE_H */