diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-10-21 09:58:01 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-21 12:48:09 -0400 |
commit | 6d7bccc2215c37205ede6c9cf84db64e7c4f9443 (patch) | |
tree | 04864624eb5022eac6eec81d264b83e28fad2863 /fs/freevxfs/vxfs_super.c | |
parent | 073c21416268658bd1bc573af85eeac2ebb56ed5 (diff) |
BKL: remove BKL from freevxfs
All uses of the BKL in freevxfs were the result of a pushdown into
code that doesn't really need it. As Christoph points out, this
is a read-only file system, which eliminates most of the races in
readdir/lookup.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Christoph Hellwig <hch@infradead.org>
Diffstat (limited to 'fs/freevxfs/vxfs_super.c')
-rw-r--r-- | fs/freevxfs/vxfs_super.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/fs/freevxfs/vxfs_super.c b/fs/freevxfs/vxfs_super.c index eb2b9e09c996..71b0148b8784 100644 --- a/fs/freevxfs/vxfs_super.c +++ b/fs/freevxfs/vxfs_super.c | |||
@@ -38,7 +38,6 @@ | |||
38 | #include <linux/buffer_head.h> | 38 | #include <linux/buffer_head.h> |
39 | #include <linux/kernel.h> | 39 | #include <linux/kernel.h> |
40 | #include <linux/slab.h> | 40 | #include <linux/slab.h> |
41 | #include <linux/smp_lock.h> | ||
42 | #include <linux/stat.h> | 41 | #include <linux/stat.h> |
43 | #include <linux/vfs.h> | 42 | #include <linux/vfs.h> |
44 | #include <linux/mount.h> | 43 | #include <linux/mount.h> |
@@ -81,16 +80,12 @@ vxfs_put_super(struct super_block *sbp) | |||
81 | { | 80 | { |
82 | struct vxfs_sb_info *infp = VXFS_SBI(sbp); | 81 | struct vxfs_sb_info *infp = VXFS_SBI(sbp); |
83 | 82 | ||
84 | lock_kernel(); | ||
85 | |||
86 | vxfs_put_fake_inode(infp->vsi_fship); | 83 | vxfs_put_fake_inode(infp->vsi_fship); |
87 | vxfs_put_fake_inode(infp->vsi_ilist); | 84 | vxfs_put_fake_inode(infp->vsi_ilist); |
88 | vxfs_put_fake_inode(infp->vsi_stilist); | 85 | vxfs_put_fake_inode(infp->vsi_stilist); |
89 | 86 | ||
90 | brelse(infp->vsi_bp); | 87 | brelse(infp->vsi_bp); |
91 | kfree(infp); | 88 | kfree(infp); |
92 | |||
93 | unlock_kernel(); | ||
94 | } | 89 | } |
95 | 90 | ||
96 | /** | 91 | /** |
@@ -159,14 +154,11 @@ static int vxfs_fill_super(struct super_block *sbp, void *dp, int silent) | |||
159 | struct inode *root; | 154 | struct inode *root; |
160 | int ret = -EINVAL; | 155 | int ret = -EINVAL; |
161 | 156 | ||
162 | lock_kernel(); | ||
163 | |||
164 | sbp->s_flags |= MS_RDONLY; | 157 | sbp->s_flags |= MS_RDONLY; |
165 | 158 | ||
166 | infp = kzalloc(sizeof(*infp), GFP_KERNEL); | 159 | infp = kzalloc(sizeof(*infp), GFP_KERNEL); |
167 | if (!infp) { | 160 | if (!infp) { |
168 | printk(KERN_WARNING "vxfs: unable to allocate incore superblock\n"); | 161 | printk(KERN_WARNING "vxfs: unable to allocate incore superblock\n"); |
169 | unlock_kernel(); | ||
170 | return -ENOMEM; | 162 | return -ENOMEM; |
171 | } | 163 | } |
172 | 164 | ||
@@ -239,7 +231,6 @@ static int vxfs_fill_super(struct super_block *sbp, void *dp, int silent) | |||
239 | goto out_free_ilist; | 231 | goto out_free_ilist; |
240 | } | 232 | } |
241 | 233 | ||
242 | unlock_kernel(); | ||
243 | return 0; | 234 | return 0; |
244 | 235 | ||
245 | out_free_ilist: | 236 | out_free_ilist: |
@@ -249,7 +240,6 @@ out_free_ilist: | |||
249 | out: | 240 | out: |
250 | brelse(bp); | 241 | brelse(bp); |
251 | kfree(infp); | 242 | kfree(infp); |
252 | unlock_kernel(); | ||
253 | return ret; | 243 | return ret; |
254 | } | 244 | } |
255 | 245 | ||