diff options
author | Jan Blunck <jblunck@infradead.org> | 2010-02-24 13:25:29 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-04 21:10:36 +0200 |
commit | d646cf82e9b6a58ba2d748e66e5fc7223830c68c (patch) | |
tree | fd983a3173775d9db7095d886e12ab2f4fe29fe8 /fs/ext3 | |
parent | b0991aa324b57dca8feef75ed75b24080ee4a9fc (diff) |
BKL: Remove BKL from ext3 fill_super()
The BKL is protecting nothing than two memory allocations here.
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'fs/ext3')
-rw-r--r-- | fs/ext3/super.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 41f9dcd73e9..edde63fdb9a 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -1611,19 +1611,14 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) __le32 features; int err; - lock_kernel(); - sbi = kzalloc(sizeof(*sbi), GFP_KERNEL); - if (!sbi) { - unlock_kernel(); + if (!sbi) return -ENOMEM; - } sbi->s_blockgroup_lock = kzalloc(sizeof(struct blockgroup_lock), GFP_KERNEL); if (!sbi->s_blockgroup_lock) { kfree(sbi); - unlock_kernel(); return -ENOMEM; } sb->s_fs_info = sbi; @@ -1632,8 +1627,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) sbi->s_resgid = EXT3_DEF_RESGID; sbi->s_sb_block = sb_block; - unlock_kernel(); - blocksize = sb_min_blocksize(sb, EXT3_MIN_BLOCK_SIZE); if (!blocksize) { ext3_msg(sb, KERN_ERR, "error: unable to set blocksize"); @@ -2030,8 +2023,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) test_opt(sb,DATA_FLAGS) == EXT3_MOUNT_ORDERED_DATA ? "ordered": "writeback"); - lock_kernel(); - unlock_kernel(); return 0; cantfind_ext3: @@ -2061,8 +2052,6 @@ out_fail: sb->s_fs_info = NULL; kfree(sbi->s_blockgroup_lock); kfree(sbi); - lock_kernel(); - unlock_kernel(); return ret; } |