BKL: Remove BKL from afs
authorArnd Bergmann <arnd@arndb.de>
Thu, 16 Sep 2010 13:35:54 +0000 (15:35 +0200)
committerArnd Bergmann <arnd@arndb.de>
Mon, 4 Oct 2010 19:10:48 +0000 (21:10 +0200)
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>
fs/afs/super.c

index 6c2fef44d385da531e44561adc0ca39dce2d06fd..eacf76d98ae02345d00d62f22f5ab4893a0452e6 100644 (file)
@@ -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("");
 }