Skip to content

Commit

Permalink
BKL: Remove BKL from HFS
Browse files Browse the repository at this point in the history
The BKL is only used in put_super and fill_super that are both protected by
the superblocks s_umount rw_semaphore. Therefore it is safe to remove the
BKL entirely.

Signed-off-by: Jan Blunck <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
  • Loading branch information
jblunck authored and arndb committed Oct 4, 2010
1 parent f2143c4 commit 8526fb3
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions fs/hfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include <linux/parser.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/smp_lock.h>
#include <linux/vfs.h>

#include "hfs_fs.h"
Expand Down Expand Up @@ -79,15 +78,11 @@ static int hfs_sync_fs(struct super_block *sb, int wait)
*/
static void hfs_put_super(struct super_block *sb)
{
lock_kernel();

if (sb->s_dirt)
hfs_write_super(sb);
hfs_mdb_close(sb);
/* release the MDB's resources */
hfs_mdb_put(sb);

unlock_kernel();
}

/*
Expand Down Expand Up @@ -382,13 +377,10 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
struct inode *root_inode;
int res;

lock_kernel();

sbi = kzalloc(sizeof(struct hfs_sb_info), GFP_KERNEL);
if (!sbi) {
unlock_kernel();
if (!sbi)
return -ENOMEM;
}

sb->s_fs_info = sbi;
INIT_HLIST_HEAD(&sbi->rsrc_inodes);

Expand Down Expand Up @@ -439,7 +431,6 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
sb->s_root->d_op = &hfs_dentry_operations;

/* everything's okay */
unlock_kernel();
return 0;

bail_iput:
Expand All @@ -448,7 +439,6 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
printk(KERN_ERR "hfs: get root inode failed.\n");
bail:
hfs_mdb_put(sb);
unlock_kernel();
return res;
}

Expand Down

0 comments on commit 8526fb3

Please sign in to comment.