BKL: Remove BKL from afs
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: linux-afs@lists.infradead.org Cc: David Howells <dhowells@redhat.com>
This commit is contained in:
Родитель
cdbd2b013d
Коммит
77f2fe036c
|
@ -19,7 +19,6 @@
|
|||
#include <linux/mount.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/pagemap.h>
|
||||
#include <linux/parser.h>
|
||||
|
@ -302,15 +301,12 @@ static int afs_fill_super(struct super_block *sb, void *data)
|
|||
struct inode *inode = NULL;
|
||||
int ret;
|
||||
|
||||
lock_kernel();
|
||||
|
||||
_enter("");
|
||||
|
||||
/* allocate a superblock info record */
|
||||
as = kzalloc(sizeof(struct afs_super_info), GFP_KERNEL);
|
||||
if (!as) {
|
||||
_leave(" = -ENOMEM");
|
||||
unlock_kernel();
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -344,7 +340,6 @@ static int afs_fill_super(struct super_block *sb, void *data)
|
|||
sb->s_root = root;
|
||||
|
||||
_leave(" = 0");
|
||||
unlock_kernel();
|
||||
return 0;
|
||||
|
||||
error_inode:
|
||||
|
@ -358,7 +353,6 @@ error:
|
|||
sb->s_fs_info = NULL;
|
||||
|
||||
_leave(" = %d", ret);
|
||||
unlock_kernel();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -458,12 +452,8 @@ static void afs_put_super(struct super_block *sb)
|
|||
|
||||
_enter("");
|
||||
|
||||
lock_kernel();
|
||||
|
||||
afs_put_volume(as->volume);
|
||||
|
||||
unlock_kernel();
|
||||
|
||||
_leave("");
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче