diff options
author | Ram Pai <linuxram@us.ibm.com> | 2005-11-07 17:21:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-07 21:18:11 -0500 |
commit | 9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2 (patch) | |
tree | fd7d965c6d646cf7e4cfd35e866723927f6cfe8b /fs/pnode.h | |
parent | 5afe00221389998a25d611dc7941c06580c29eb6 (diff) |
[PATCH] unbindable mounts
An unbindable mount does not forward or receive propagation. Also
unbindable mount disallows bind mounts. The semantics is as follows.
Bind semantics:
It is invalid to bind mount an unbindable mount.
Move semantics:
It is invalid to move an unbindable mount under shared mount.
Clone-namespace semantics:
If a mount is unbindable in the parent namespace, the corresponding
cloned mount in the child namespace becomes unbindable too. Note:
there is subtle difference, unbindable mounts cannot be bind mounted
but can be cloned during clone-namespace.
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 | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/pnode.h b/fs/pnode.h index b59f0e9fe6b..020e1bb60fd 100644 --- a/fs/pnode.h +++ b/fs/pnode.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #define IS_MNT_SLAVE(mnt) (mnt->mnt_master) | 15 | #define IS_MNT_SLAVE(mnt) (mnt->mnt_master) |
16 | #define IS_MNT_NEW(mnt) (!mnt->mnt_namespace) | 16 | #define IS_MNT_NEW(mnt) (!mnt->mnt_namespace) |
17 | #define CLEAR_MNT_SHARED(mnt) (mnt->mnt_flags &= ~MNT_SHARED) | 17 | #define CLEAR_MNT_SHARED(mnt) (mnt->mnt_flags &= ~MNT_SHARED) |
18 | #define IS_MNT_UNBINDABLE(mnt) (mnt->mnt_flags & MNT_UNBINDABLE) | ||
18 | 19 | ||
19 | #define CL_EXPIRE 0x01 | 20 | #define CL_EXPIRE 0x01 |
20 | #define CL_SLAVE 0x02 | 21 | #define CL_SLAVE 0x02 |