Re: writeback: bad unlock balance detected in 3.5-rc1

From: Fengguang Wu
Date: Fri Jun 08 2012 - 19:38:10 EST


On Fri, Jun 08, 2012 at 04:28:40PM -0400, Theodore Ts'o wrote:
> On Fri, Jun 08, 2012 at 05:07:36PM +0200, Jan Kara wrote:
> > Argh, I wonder how come I didn't hit this. Does attached patch fix the
> > problem?
>
> Just to confirm (although there was little doubt), I've built a kernel
> with this patch and it fixes the lockdep complaint.

Great, thank you!

Here is the updated changelog:

writeback: Fix lock imbalance in writeback_sb_inodes()

Fix bug introduced by 169ebd90. We have to have wb_list_lock locked when
restarting writeback loop after having waited for inode writeback.

Bug description by Ted Tso:

I can reproduce this fairly easily by using ext4 w/o a journal, running
under KVM with 1024megs memory, with fsstress (xfstests #13):

[ 45.153294] =====================================
[ 45.154784] [ BUG: bad unlock balance detected! ]
[ 45.155591] 3.5.0-rc1-00002-gb22b1f1 #124 Not tainted
[ 45.155591] -------------------------------------
[ 45.155591] flush-254:16/2499 is trying to release lock (&(&wb->list_lock)->rlock) at:
[ 45.155591] [<c022c3da>] writeback_sb_inodes+0x160/0x327
[ 45.155591] but there are no more locks to release!

Reported-by: Theodore Ts'o <tytso@xxxxxxx>
Tested-by: Theodore Ts'o <tytso@xxxxxxx>
Signed-off-by: Jan Kara <jack@xxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/