public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Liu <jeff.liu@oracle.com>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: [ASSERT failure] transaction reservations changes bad?
Date: Tue, 12 Mar 2013 19:56:35 +0800	[thread overview]
Message-ID: <513F17F3.1010204@oracle.com> (raw)
In-Reply-To: <513F0C07.1060000@oracle.com>

On 03/12/2013 07:05 PM, Jeff Liu wrote:
> 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@linux-foundation.org>
> Date:   Mon Feb 18 15:58:34 2013 -0800
More info, 3.7.0 is the oldest kernel on my environment, I ran into the
same problem.

Thanks,
-Jeff

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

  reply	other threads:[~2013-03-12 11:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-12  6:20 [ASSERT failure] transaction reservations changes bad? Dave Chinner
2013-03-12  6:25 ` Dave Chinner
2013-03-12  8:08   ` Jeff Liu
2013-03-12 10:31     ` Dave Chinner
2013-03-12 11:05       ` Jeff Liu
2013-03-12 11:56         ` Jeff Liu [this message]
2013-03-12 12:05           ` Dave Chinner
2013-03-26 10:14             ` Jeff Liu
2013-03-26 16:44               ` Mark Tinguely
2013-03-28 12:58                 ` Jeff Liu
2013-03-27  2:03               ` Dave Chinner
2013-03-28 15:16                 ` Jeff Liu
2013-03-29  3:00                   ` Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=513F17F3.1010204@oracle.com \
    --to=jeff.liu@oracle.com \
    --cc=david@fromorbit.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox