From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fengguang Wu Subject: Re: writeback: bad unlock balance detected in 3.5-rc1 Date: Sat, 9 Jun 2012 08:37:28 +0900 Message-ID: <20120608233728.GA7691@localhost> References: <20120608150736.GF21080@quack.suse.cz> <20120608202840.GB1704@thunk.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: Ted Ts'o , Jan Kara , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Return-path: Content-Disposition: inline In-Reply-To: <20120608202840.GB1704@thunk.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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] [] writeback_sb_inodes+0x160/0x327 [ 45.155591] but there are no more locks to release! Reported-by: Theodore Ts'o Tested-by: Theodore Ts'o Signed-off-by: Jan Kara Signed-off-by: Fengguang Wu Thanks, Fengguang