shm_mnt is as longterm as it gets, TYVM...
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 31 Aug 2013 16:57:10 +0000 (12:57 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 4 Sep 2013 02:50:27 +0000 (22:50 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mm/shmem.c

index e43dc555069dbe609cd1afae76e56fc4b38e4951..526149846d0a82370eaf96c32489a45152fd4f66 100644 (file)
@@ -2615,13 +2615,15 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
         * tmpfs instance, limiting inodes to one per page of lowmem;
         * but the internal instance is left unlimited.
         */
-       if (!(sb->s_flags & MS_NOUSER)) {
+       if (!(sb->s_flags & MS_KERNMOUNT)) {
                sbinfo->max_blocks = shmem_default_max_blocks();
                sbinfo->max_inodes = shmem_default_max_inodes();
                if (shmem_parse_options(data, sbinfo, false)) {
                        err = -EINVAL;
                        goto failed;
                }
+       } else {
+               sb->s_flags |= MS_NOUSER;
        }
        sb->s_export_op = &shmem_export_ops;
        sb->s_flags |= MS_NOSEC;
@@ -2831,8 +2833,7 @@ int __init shmem_init(void)
                goto out2;
        }
 
-       shm_mnt = vfs_kern_mount(&shmem_fs_type, MS_NOUSER,
-                                shmem_fs_type.name, NULL);
+       shm_mnt = kern_mount(&shmem_fs_type);
        if (IS_ERR(shm_mnt)) {
                error = PTR_ERR(shm_mnt);
                printk(KERN_ERR "Could not kern_mount tmpfs\n");