Messages in this thread | | | Date | Sat, 9 Jun 2012 08:37:28 +0900 | From | Fengguang Wu <> | Subject | Re: writeback: bad unlock balance detected in 3.5-rc1 |
| |
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@mit.edu> Tested-by: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Thanks, Fengguang
| |