Adds ability to clone a namespace that has shared/private/slave/unclone subtrees in it. RP Signed by Ram Pai (linuxram@us.ibm.com) 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; }