XFS bug in log recover with quota (bugzilla id 855)
Eric Sandeen
sandeen at sandeen.net
Mon Nov 16 08:29:57 CST 2009
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 at lst.de>
More information about the xfs
mailing list