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

From: Fengguang Wu
Date: Fri Jun 08 2012 - 11:46:00 EST


On Fri, Jun 08, 2012 at 05:07:36PM +0200, Jan Kara wrote:
> On Fri 08-06-12 10:36:13, Ted Tso wrote:
> >
> > I can reproduce this fairly easily by using ext4 w/o a journal, running
> > under KVM with 1024megs memory, with fsstress (xfstests #13):

Good catch, thanks!

> Argh, I wonder how come I didn't hit this. Does attached patch fix the
> problem?

> diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> index 8d2fb8c..41a3ccf 100644
> --- a/fs/fs-writeback.c
> +++ b/fs/fs-writeback.c
> @@ -664,6 +664,7 @@ static long writeback_sb_inodes(struct super_block *sb,
> /* Wait for I_SYNC. This function drops i_lock... */
> inode_sleep_on_writeback(inode);
> /* Inode may be gone, start again */
> + spin_lock(&wb->list_lock);
> continue;
> }

That looks like the fix. So I pushed it to writeback-for-next.
Thanks for the quick fixing!

I'm yet to setup and run xfstests regularly, so as to catch such kind
of problems earlier in future.

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/