mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-kernel@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
	OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
	Jan Blunck <jblunck@infradead.org>
Subject: [PATCH 02/12] BKL: Remove BKL from fat
Date: Thu, 16 Sep 2010 19:46:15 +0200	[thread overview]
Message-ID: <1284659185-8942-3-git-send-email-arnd@arndb.de> (raw)
In-Reply-To: <1284659185-8942-1-git-send-email-arnd@arndb.de>

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>
---
 fs/fat/inode.c       |    5 -----
 fs/fat/namei_msdos.c |    7 +++----
 fs/fat/namei_vfat.c  |    7 +++----
 3 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 8300580..ad6998a 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -14,7 +14,6 @@
 #include <linux/init.h>
 #include <linux/time.h>
 #include <linux/slab.h>
-#include <linux/smp_lock.h>
 #include <linux/seq_file.h>
 #include <linux/pagemap.h>
 #include <linux/mpage.h>
@@ -489,8 +488,6 @@ static void fat_put_super(struct super_block *sb)
 {
 	struct msdos_sb_info *sbi = MSDOS_SB(sb);
 
-	lock_kernel();
-
 	if (sb->s_dirt)
 		fat_write_super(sb);
 
@@ -504,8 +501,6 @@ static void fat_put_super(struct super_block *sb)
 
 	sb->s_fs_info = NULL;
 	kfree(sbi);
-
-	unlock_kernel();
 }
 
 static struct kmem_cache *fat_inode_cachep;
diff --git a/fs/fat/namei_msdos.c b/fs/fat/namei_msdos.c
index e2b0b97..bbca5c1 100644
--- a/fs/fat/namei_msdos.c
+++ b/fs/fat/namei_msdos.c
@@ -9,7 +9,6 @@
 #include <linux/module.h>
 #include <linux/time.h>
 #include <linux/buffer_head.h>
-#include <linux/smp_lock.h>     /* For lock_kernel() */
 #include "fat.h"
 
 /* Characters that are undesirable in an MS-DOS file name */
@@ -663,16 +662,16 @@ static int msdos_fill_super(struct super_block *sb, void *data, int silent)
 {
 	int res;
 
-	lock_kernel();
+	lock_super(sb);
 	res = fat_fill_super(sb, data, silent, &msdos_dir_inode_operations, 0);
 	if (res) {
-		unlock_kernel();
+		unlock_super(sb);
 		return res;
 	}
 
 	sb->s_flags |= MS_NOATIME;
 	sb->s_root->d_op = &msdos_dentry_operations;
-	unlock_kernel();
+	unlock_super(sb);
 	return 0;
 }
 
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c
index 9006ad9..6f0f6c9 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;
 }
 
-- 
1.7.1


  parent reply	other threads:[~2010-09-16 17:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-16 17:46 [PATCH 00/12] more BKL removal after get_sb pushdown Arnd Bergmann
2010-09-16 17:46 ` [PATCH 01/12] BKL: Remove BKL from usbfs Arnd Bergmann
2010-09-16 18:47   ` Greg KH
2010-09-16 17:46 ` Arnd Bergmann [this message]
2010-09-16 17:46 ` [PATCH 03/12] BKL: Remove BKL from isofs Arnd Bergmann
2010-09-16 17:46 ` [PATCH 04/12] BKL: Remove BKL from autofs4 Arnd Bergmann
2010-09-16 17:49   ` H. Peter Anvin
2010-09-16 17:55     ` Arnd Bergmann
2010-09-16 19:20       ` H. Peter Anvin
2010-09-17  1:31         ` Ian Kent
2010-09-17  1:33       ` Ian Kent
2010-09-17  7:17         ` Arnd Bergmann
2010-09-17 17:01           ` Greg KH
2010-09-16 17:46 ` [PATCH 05/12] BKL: Remove BKL from ReiserFS Arnd Bergmann
2010-09-16 17:46 ` [PATCH 06/12] BKL: Remove BKL from capifs Arnd Bergmann
2010-09-17 23:35   ` David Miller
2010-09-18  7:55     ` Arnd Bergmann
2010-09-16 17:46 ` [PATCH 07/12] BKL: Remove BKL from USB gadgetfs Arnd Bergmann
2010-09-16 17:46 ` [PATCH 08/12] BKL: Remove BKL from afs Arnd Bergmann
2010-09-16 17:46 ` [PATCH 09/12] BKL: Remove BKL from ecryptfs Arnd Bergmann
2010-09-16 17:46 ` [PATCH 10/12] BKL: Remove BKL from jffs2 Arnd Bergmann
2010-09-16 17:46 ` [PATCH 11/12] BKL: Remove BKL from squashfs Arnd Bergmann
2010-09-16 17:46 ` [PATCH 12/12] BKL: Remove BKL from OCFS2 Arnd Bergmann
2010-09-16 22:26   ` Mark Fasheh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1284659185-8942-3-git-send-email-arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=jblunck@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®