Re: [ASSERT failure] transaction reservations changes bad?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/12/2013 06:31 PM, Dave Chinner wrote:
> On Tue, Mar 12, 2013 at 04:08:20PM +0800, Jeff Liu wrote:
>> Hi Dave,
>>
>> On 03/12/2013 02:25 PM, Dave Chinner wrote:
>>> On Tue, Mar 12, 2013 at 05:20:02PM +1100, Dave Chinner wrote:
>>>> Folks,
>>>>
>>>> I just got this ASSERT failure running xfstests on a 3.1.8 xfsprogs
>>>> and a 3.9-rc1 kernel running test 297:
>>>
>>> FYI, it's 100% reproducable here with:
>>>
>>> # sudo MKFS_OPTIONS="-b size=512" ./check 297
>>>
>>> (reproduced on multiple VMs now with the same command line)
> ....
>>>> This implies that the permanent transaction reservation ended up
>>>> larger than the log itself:
>>>>
>>>> $ sudo xfs_info /mnt/scratch/
>>>> [sudo] password for dave: 
>>>> meta-data=/dev/vdb               isize=256    agcount=16, agsize=1441792 blks
>>>>          =                       sectsz=512   attr=2
>>>> data     =                       bsize=512    blocks=23068672, imaxpct=25
>>>>          =                       sunit=512    swidth=6144 blks
>>>> naming   =version 2              bsize=4096   ascii-ci=0
>>>> log      =internal               bsize=512    blocks=2560, version=2
>>>>          =                       sectsz=512   sunit=512 blks, lazy-count=1
>>>> realtime =none                   extsz=4096   blocks=0, rtextents=0
>>>>
>>>> Can someone please check that the before/after mkdir transaction
>>>> reservation sizes are unchanged for such a configuration?
>> I just did a quick verification. 
>>
>> # mkfs.xfs -V
>> mkfs.xfs version 3.1.8
>>
>> # uname -a
>> Linux koala 3.9.0-rc1 #80 SMP Tue Mar 12 15:06:39 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
>>
>> # mkfs.xfs -f -b size=512 /dev/sda6
>> meta-data=/dev/sda6              isize=256    agcount=4, agsize=5242880 blks
>>          =                       sectsz=512   attr=2, projid32bit=0
>> data     =                       bsize=512    blocks=20971520, imaxpct=25
>>          =                       sunit=0      swidth=0 blks
>> naming   =version 2              bsize=4096   ascii-ci=0
>> log      =internal log           bsize=512    blocks=20480, version=2
>>          =                       sectsz=512   sunit=0 blks, lazy-count=1
>> realtime =none                   extsz=4096   blocks=0, rtextents=0
> 
> That's a different mkfs.xfs config to what test 297 is using.
> Different log size, different AG count, no log stripe unit, etc.
> 297 is using:
> 
> scratch_mkfs_xfs -d agcount=16,su=256k,sw=12 -l su=256k,size=2560b <dev>
> 
> And when I add the extra MKFS_OPTIONS in it actually is:
> 
> # mkfs.xfs -b size=512 -d agcount=16,su=256k,sw=12 -l su=256k,size=2560b <dev>
> 
>> The reservation size does not changed, both are 70072 bytes:
>>
>> [  230.905092] xfs_calc_mkdir_reservation: res=70072 bytes.
> 
> And it's not just the calculation that I'm worried about here - it's
> the actual reservation that ends up in the ticket that matters as
> that is fed into the code that has triggered the assert. The value
> in the ticket takes into account log stripe units and other
> roundings, so it's typically much larger than just the reservation
> calculation itself...
> 
>> However, I can always reproducing this issue with
>> '"MKFS_OPTIONS=-b size=512" ./check 297' as well.
> 
> Can you check that it also fails on kernels prior to the reservation
> changes? That will rule out it being a recent regression...
Sure, verified against a new built 3.8.0 kernel, so this should be a
regression issue.
$ uname -a
Linux koala 3.8.0 #81 SMP Tue Mar 12 18:03:44 CST 2013 x86_64 x86_64
x86_64 GNU/Linux

commit 19f949f52599ba7c3f67a5897ac6be14bfcb1200
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Feb 18 15:58:34 2013 -0800

Thanks,
-Jeff

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux