aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/reiserfs/bitmap.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2010-02-28 23:55:20 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-02-28 23:55:20 -0800
commit35858adbfca13678af99fb31618ef4428d6dedb0 (patch)
tree3336feaa61324486945816cb52c347733e7c0821 /fs/reiserfs/bitmap.c
parentInput: winbond-cir - fix suspend/resume (diff)
parentInput: atkbd - release previously reserved keycodes 248 - 254 (diff)
downloadwireguard-linux-35858adbfca13678af99fb31618ef4428d6dedb0.tar.xz
wireguard-linux-35858adbfca13678af99fb31618ef4428d6dedb0.zip
Merge branch 'next' into for-linus
Diffstat (limited to 'fs/reiserfs/bitmap.c')
-rw-r--r--fs/reiserfs/bitmap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/reiserfs/bitmap.c b/fs/reiserfs/bitmap.c
index 685495707181..65c872761177 100644
--- a/fs/reiserfs/bitmap.c
+++ b/fs/reiserfs/bitmap.c
@@ -1277,7 +1277,10 @@ int reiserfs_init_bitmap_cache(struct super_block *sb)
struct reiserfs_bitmap_info *bitmap;
unsigned int bmap_nr = reiserfs_bmap_count(sb);
+ /* Avoid lock recursion in fault case */
+ reiserfs_write_unlock(sb);
bitmap = vmalloc(sizeof(*bitmap) * bmap_nr);
+ reiserfs_write_lock(sb);
if (bitmap == NULL)
return -ENOMEM;