xfs
[Top] [All Lists]

Re: XFS bug in log recover with quota (bugzilla id 855)

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: XFS bug in log recover with quota (bugzilla id 855)
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Mon, 16 Nov 2009 08:29:57 -0600
Cc: Jan Rekorajski <baggins@xxxxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, Alex Elder <aelder@xxxxxxx>
In-reply-to: <20091116130824.GA27442@xxxxxxxxxxxxx>
References: <20091116115702.GN23522@xxxxxxxxxxxxxxxxx> <20091116130824.GA27442@xxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
Christoph Hellwig wrote:
On Mon, Nov 16, 2009 at 12:57:02PM +0100, Jan Rekorajski wrote:
Hi,
I was hit by a bug in linux 2.6.31 when XFS is not able to recover the
log after a crash if fs was mounted with quotas. Gory details in XFS
bugzilla: http://oss.sgi.com/bugzilla/show_bug.cgi?id=855.

It looks like wrong struct is used in buffer length check, and the following
patch should fix the problem.

xfs_dqblk_t has a size of 104+32 bytes, while xfs_disk_dquot_t is 104 bytes
long, and this is exactly what I see in system logs - "XFS: dquot too small
(104) in xlog_recover_do_dquot_trans."

Yikes, great brown paperbag bug.  Indeed, as per
xfs_qm_dquot_logitem_format() we only log the xfs_disk_dquot_t and not
the full xfs_dqblk_t.

Felix, can you try to get this to Linus before .32 as this is clearly a
  ^^^ Alex ;)

-Eric

regression.

I'll also put the writing of more quota testcases including testing the
log recovery even higher on my todo list.

Reviewed-by: Christoph Hellwig <hch@xxxxxx>

<Prev in Thread] Current Thread [Next in Thread>