[RFC PATCH 6/8] clone a namespace containingshared/private/slave/unclone tree

From: Ram
Date: Fri Jul 08 2005 - 05:39:44 EST


Adds ability to clone a namespace that has shared/private/slave/unclone
subtrees in it.

RP

Adds ability to clone a namespace that has shared/private/slave/unclone
subtrees in it.

RP


Signed by Ram Pai (linuxram@xxxxxxxxxx)

namespace.c | 9 +++++++++
1 files changed, 9 insertions(+)

Index: 2.6.12/fs/namespace.c
===================================================================
--- 2.6.12.orig/fs/namespace.c
+++ 2.6.12/fs/namespace.c
@@ -1685,6 +1685,12 @@ int copy_namespace(int flags, struct tas
q = new_ns->root;
while (p) {
q->mnt_namespace = new_ns;
+
+ if (IS_MNT_SHARED(q))
+ pnode_add_member_mnt(q->mnt_pnode, q);
+ else if (IS_MNT_SLAVE(q))
+ SET_MNT_PRIVATE(q);
+
if (fs) {
if (p == fs->rootmnt) {
rootmnt = p;
@@ -2054,6 +2060,8 @@ void __put_namespace(struct namespace *n
spin_lock(&vfsmount_lock);

list_for_each_entry(mnt, &namespace->list, mnt_list) {
+ if (mnt->mnt_pnode)
+ pnode_disassociate_mnt(mnt);
mnt->mnt_namespace = NULL;
}