From 3115f255e3c307e499647fd417f3319ed1491c3d Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sun, 13 Dec 2009 22:48:54 +0100 Subject: [PATCH] --- yaml --- r: 178716 b: refs/heads/master c: 500f5a0bf5f0624dae34307010e240ec090e4cde h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/reiserfs/bitmap.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b15a70d95b75..ad708349de54 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6548698f929814375fa5d62ae1db96959b0418c1 +refs/heads/master: 500f5a0bf5f0624dae34307010e240ec090e4cde diff --git a/trunk/fs/reiserfs/bitmap.c b/trunk/fs/reiserfs/bitmap.c index 685495707181..65c872761177 100644 --- a/trunk/fs/reiserfs/bitmap.c +++ b/trunk/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;