summaryrefslogtreecommitdiff
path: root/fs/pnode.h
diff options
context:
space:
mode:
authorRam Pai <linuxram@us.ibm.com>2005-11-07 17:21:20 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-07 18:18:11 -0800
commit9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2 (patch)
treefd7d965c6d646cf7e4cfd35e866723927f6cfe8b /fs/pnode.h
parent5afe00221389998a25d611dc7941c06580c29eb6 (diff)
downloadlwn-9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2.tar.gz
lwn-9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2.zip
[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.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/pnode.h b/fs/pnode.h
index b59f0e9fe6b1..020e1bb60fdb 100644
--- a/fs/pnode.h
+++ b/fs/pnode.h
@@ -15,6 +15,7 @@
#define IS_MNT_SLAVE(mnt) (mnt->mnt_master)
#define IS_MNT_NEW(mnt) (!mnt->mnt_namespace)
#define CLEAR_MNT_SHARED(mnt) (mnt->mnt_flags &= ~MNT_SHARED)
+#define IS_MNT_UNBINDABLE(mnt) (mnt->mnt_flags & MNT_UNBINDABLE)
#define CL_EXPIRE 0x01
#define CL_SLAVE 0x02