2005-05-25 12:12:36

by Miklos Szeredi

[permalink] [raw]
Subject: [PATCH] set mnt_namespace in the correct place

This patch sets ->mnt_namespace where it's actually added to the
namespace.

Previously mnt_namespace was set in do_kern_mount() even if the
filesystem was never added to any process's namespace (most
kernel-internal filesystems).

This discrepancy doesn't actually cause any problems, but it's cleaner
if mnt_namespace is NULL for these non exported filesystems.

Signed-off-by: Miklos Szeredi <[email protected]>

Index: linux/fs/super.c
===================================================================
--- linux.orig/fs/super.c 2005-05-23 11:12:17.000000000 +0200
+++ linux/fs/super.c 2005-05-25 13:56:33.000000000 +0200
@@ -842,7 +842,6 @@ do_kern_mount(const char *fstype, int fl
mnt->mnt_root = dget(sb->s_root);
mnt->mnt_mountpoint = sb->s_root;
mnt->mnt_parent = mnt;
- mnt->mnt_namespace = current->namespace;
up_write(&sb->s_umount);
put_filesystem(type);
return mnt;
Index: linux/fs/namespace.c
===================================================================
--- linux.orig/fs/namespace.c 2005-05-25 12:40:31.000000000 +0200
+++ linux/fs/namespace.c 2005-05-25 13:59:04.000000000 +0200
@@ -808,6 +808,7 @@ int do_add_mount(struct vfsmount *newmnt
goto unlock;

newmnt->mnt_flags = mnt_flags;
+ newmnt->mnt_namespace = current->namespace;
err = graft_tree(newmnt, nd);

if (err == 0 && fslist) {