aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-02-05 09:30:46 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2010-03-03 14:08:00 -0500
commit8089352a13b785d4e0df63d87bd2b71c76bb9aee (patch)
treee84db2c2a5c2095091d2012c00078023b90a3490 /fs
parentd498b25a4f877be535246c4e5b6ee5890781a477 (diff)
Mirror MS_KERNMOUNT in ->mnt_flags
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/namespace.c2
-rw-r--r--fs/super.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index b0b15cc2117c..ffa3843404e0 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1701,7 +1701,7 @@ int do_add_mount(struct vfsmount *newmnt, struct path *path,
1701{ 1701{
1702 int err; 1702 int err;
1703 1703
1704 mnt_flags &= ~(MNT_SHARED | MNT_WRITE_HOLD); 1704 mnt_flags &= ~(MNT_SHARED | MNT_WRITE_HOLD | MNT_INTERNAL);
1705 1705
1706 down_write(&namespace_sem); 1706 down_write(&namespace_sem);
1707 /* Something was mounted here while we slept */ 1707 /* Something was mounted here while we slept */
diff --git a/fs/super.c b/fs/super.c
index 903896ec7c73..f35ac6022109 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -937,6 +937,9 @@ vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void
937 if (!mnt) 937 if (!mnt)
938 goto out; 938 goto out;
939 939
940 if (flags & MS_KERNMOUNT)
941 mnt->mnt_flags = MNT_INTERNAL;
942
940 if (data && !(type->fs_flags & FS_BINARY_MOUNTDATA)) { 943 if (data && !(type->fs_flags & FS_BINARY_MOUNTDATA)) {
941 secdata = alloc_secdata(); 944 secdata = alloc_secdata();
942 if (!secdata) 945 if (!secdata)