fixlet: Remove fs_excl from struct task.
[firefly-linux-kernel-4.4.55.git] / fs / super.c
index c75593953c5275eb89b56b08358d25830728cf1e..cf12ba50973b8c5c73946f30f10cfbb9a3ee0a97 100644 (file)
@@ -245,13 +245,11 @@ static int grab_super(struct super_block *s) __releases(sb_lock)
  */
 void lock_super(struct super_block * sb)
 {
-       get_fs_excl();
        mutex_lock(&sb->s_lock);
 }
 
 void unlock_super(struct super_block * sb)
 {
-       put_fs_excl();
        mutex_unlock(&sb->s_lock);
 }
 
@@ -280,7 +278,6 @@ void generic_shutdown_super(struct super_block *sb)
        if (sb->s_root) {
                shrink_dcache_for_umount(sb);
                sync_filesystem(sb);
-               get_fs_excl();
                sb->s_flags &= ~MS_ACTIVE;
 
                fsnotify_unmount_inodes(&sb->s_inodes);
@@ -295,7 +292,6 @@ void generic_shutdown_super(struct super_block *sb)
                           "Self-destruct in 5 seconds.  Have a nice day...\n",
                           sb->s_id);
                }
-               put_fs_excl();
        }
        spin_lock(&sb_lock);
        /* should be initialized for __put_super_and_need_restart() */
@@ -822,7 +818,7 @@ struct dentry *mount_bdev(struct file_system_type *fs_type,
        } else {
                char b[BDEVNAME_SIZE];
 
-               s->s_flags = flags;
+               s->s_flags = flags | MS_NOSEC;
                s->s_mode = mode;
                strlcpy(s->s_id, bdevname(bdev, b), sizeof(s->s_id));
                sb_set_blocksize(s, block_size(bdev));