diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-09-14 23:07:27 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-04 21:10:45 +0200 |
commit | 3768744cfea7b995dce27f02341161fbfdfee80c (patch) | |
tree | 29655ece93aa751f2f9ff98e21b840b5b80b91c0 /fs/fat/namei_vfat.c | |
parent | 3e44f9f1dc19e2b8d4f7ca3b3c63e976b22ad372 (diff) | |
download | talos-op-linux-3768744cfea7b995dce27f02341161fbfdfee80c.tar.gz talos-op-linux-3768744cfea7b995dce27f02341161fbfdfee80c.zip |
BKL: Remove BKL from fat
The lock_kernel in fat_put_super is not needed because
it only protects the super block itself and we know that
no other thread can reach it because we are about to
kfree the object.
In the two fill_super functions, this converts the locking
to use lock_super like elsewhere in the fat code. This
is probably not needed either, but is consistent and puts
us on the safe side.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Jan Blunck <jblunck@infradead.org>
Diffstat (limited to 'fs/fat/namei_vfat.c')
-rw-r--r-- | fs/fat/namei_vfat.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c index 9006ad9c7b11..6f0f6c9a0152 100644 --- a/fs/fat/namei_vfat.c +++ b/fs/fat/namei_vfat.c @@ -21,7 +21,6 @@ #include <linux/slab.h> #include <linux/buffer_head.h> #include <linux/namei.h> -#include <linux/smp_lock.h> /* For lock_kernel() */ #include "fat.h" /* @@ -1056,10 +1055,10 @@ static int vfat_fill_super(struct super_block *sb, void *data, int silent) { int res; - lock_kernel(); + lock_super(sb); res = fat_fill_super(sb, data, silent, &vfat_dir_inode_operations, 1); if (res) { - unlock_kernel(); + unlock_super(sb); return res; } @@ -1068,7 +1067,7 @@ static int vfat_fill_super(struct super_block *sb, void *data, int silent) else sb->s_root->d_op = &vfat_dentry_ops; - unlock_kernel(); + unlock_super(sb); return 0; } |