diff options
author | Ram Pai <linuxram@us.ibm.com> | 2005-11-07 17:19:50 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-07 21:18:11 -0500 |
commit | b90fa9ae8f51f098ee480bbaabd6867992e9fc58 (patch) | |
tree | 2ad583b3a7399face7a78730b001928413c8269e /fs/pnode.h | |
parent | 03e06e68ff76294e53ffa898cb844d2a997b043e (diff) |
[PATCH] shared mount handling: bind and rbind
Implement handling of MS_BIND in presense of shared mounts (see
Documentation/sharedsubtree.txt in the end of patch series for detailed
description).
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/pnode.h')
-rw-r--r-- | fs/pnode.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/pnode.h b/fs/pnode.h index ab1bdaee4e08..c62c72fad212 100644 --- a/fs/pnode.h +++ b/fs/pnode.h | |||
@@ -12,7 +12,21 @@ | |||
12 | #include <linux/mount.h> | 12 | #include <linux/mount.h> |
13 | 13 | ||
14 | #define IS_MNT_SHARED(mnt) (mnt->mnt_flags & MNT_SHARED) | 14 | #define IS_MNT_SHARED(mnt) (mnt->mnt_flags & MNT_SHARED) |
15 | #define IS_MNT_NEW(mnt) (!mnt->mnt_namespace) | ||
15 | #define CLEAR_MNT_SHARED(mnt) (mnt->mnt_flags &= ~MNT_SHARED) | 16 | #define CLEAR_MNT_SHARED(mnt) (mnt->mnt_flags &= ~MNT_SHARED) |
16 | 17 | ||
18 | #define CL_EXPIRE 0x01 | ||
19 | #define CL_COPY_ALL 0x04 | ||
20 | #define CL_MAKE_SHARED 0x08 | ||
21 | #define CL_PROPAGATION 0x10 | ||
22 | |||
23 | static inline void set_mnt_shared(struct vfsmount *mnt) | ||
24 | { | ||
25 | mnt->mnt_flags &= ~MNT_PNODE_MASK; | ||
26 | mnt->mnt_flags |= MNT_SHARED; | ||
27 | } | ||
28 | |||
17 | void change_mnt_propagation(struct vfsmount *, int); | 29 | void change_mnt_propagation(struct vfsmount *, int); |
30 | int propagate_mnt(struct vfsmount *, struct dentry *, struct vfsmount *, | ||
31 | struct list_head *); | ||
18 | #endif /* _LINUX_PNODE_H */ | 32 | #endif /* _LINUX_PNODE_H */ |