diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-09-16 17:35:54 +0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-04 23:10:50 +0400 |
commit | 3dbc4b32d0b39701cbec65582e196a20889155fb (patch) | |
tree | f2ce90d3850a37f1e6cbb9ed556b1535d62e80cb /fs/squashfs | |
parent | 1a028dd2dd589c3924d9711a1b073a13c820b6b5 (diff) | |
download | linux-3dbc4b32d0b39701cbec65582e196a20889155fb.tar.xz |
BKL: Remove BKL from squashfs
The BKL is only used in put_super and fill_super, which are both protected
by the superblocks s_umount rw_semaphore. Therefore it is safe to remove
the BKL entirely.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Phillip Lougher <phillip@lougher.demon.co.uk>
Diffstat (limited to 'fs/squashfs')
-rw-r--r-- | fs/squashfs/super.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c index ab1a401a0e19..07a4f1156048 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c @@ -30,7 +30,6 @@ #include <linux/fs.h> #include <linux/vfs.h> #include <linux/slab.h> -#include <linux/smp_lock.h> #include <linux/mutex.h> #include <linux/pagemap.h> #include <linux/init.h> @@ -87,14 +86,11 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent) u64 lookup_table_start, xattr_id_table_start; int err; - lock_kernel(); - TRACE("Entered squashfs_fill_superblock\n"); sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL); if (sb->s_fs_info == NULL) { ERROR("Failed to allocate squashfs_sb_info\n"); - unlock_kernel(); return -ENOMEM; } msblk = sb->s_fs_info; @@ -304,7 +300,6 @@ allocate_root: TRACE("Leaving squashfs_fill_super\n"); kfree(sblk); - unlock_kernel(); return 0; failed_mount: @@ -319,13 +314,11 @@ failed_mount: kfree(sb->s_fs_info); sb->s_fs_info = NULL; kfree(sblk); - unlock_kernel(); return err; failure: kfree(sb->s_fs_info); sb->s_fs_info = NULL; - unlock_kernel(); return -ENOMEM; } @@ -360,8 +353,6 @@ static int squashfs_remount(struct super_block *sb, int *flags, char *data) static void squashfs_put_super(struct super_block *sb) { - lock_kernel(); - if (sb->s_fs_info) { struct squashfs_sb_info *sbi = sb->s_fs_info; squashfs_cache_delete(sbi->block_cache); @@ -376,8 +367,6 @@ static void squashfs_put_super(struct super_block *sb) kfree(sb->s_fs_info); sb->s_fs_info = NULL; } - - unlock_kernel(); } |