coreutils
[Top][All Lists]
Advanced

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

Re: ready for release of coreutils-8.11?


From: Jim Meyering
Subject: Re: ready for release of coreutils-8.11?
Date: Tue, 12 Apr 2011 12:59:43 +0200

Pádraig Brady wrote:

> On 11/04/11 21:09, Jim Meyering wrote:
>> I've run the test suite on F15 x86_64 using each of ext3, ext4, btrfs and 
>> xfs.
>> All tests passed on the first three FS types.
>> On xfs there was only one failure: cp/sparse-fiemap.
>> I pared it down to this stand-alone reproducer:
>>
>>     rm -f j1 j2
>>     perl \
>>       -e 'BEGIN{$n=7*1024; *F=*STDOUT}' \
>>       -e 'for (1..21) { sysseek (*F, $n, 1)' \
>>       -e '&& syswrite (*F, chr($_)x$n) or die "$!"}' > j1
>>     cp --sparse=always j1 j2
>>     diff -u <(filefrag -v j1) <(filefrag -vs j2)
>>
>> Here's the output.
>> The difference that triggers the test failure is
>> the fact that the "length" numbers differ:
>>
>>     --- /proc/self/fd/11    2011-04-11 22:01:00.932737472 +0200
>>     +++ /proc/self/fd/12    2011-04-11 22:01:00.932737472 +0200
>>     @@ -1,6 +1,6 @@
>>      Filesystem type is: 58465342
>>     -File size of j1 is 301056 (74 blocks, blocksize 4096)
>>     +File size of j2 is 301056 (74 blocks, blocksize 4096)
>>       ext logical physical expected length flags
>>     -   0       1     7310              31
>>     -   1      33     7342     7340     95 eof
>>     -j1: 3 extents found
>>     +   0       1     7469              31
>>     +   1      33     7501     7499     63 eof
>>     +j2: 3 extents found
>
> Hmm, this is with 128K block sizes?

The perl snippet performs 21 pairs of lseek/syswrite calls,
each of length 7KiB.  Not sure about the 3 extents, or why
only the first 4KiB block and one other in the middle of the
file end up being holes on XFS.

Hey, do you feel like extending your fiemap-capable script
to print FIEMAP data?  Then we wouldn't have to rely on filefrag,
which appears to be confused here.

> There is a 4K hole at the start of each block which seems a bit strange.
> Why are "3 extents found" but only 2 listed?
> The last extent seems too long in both cases,
> but that at least wouldn't cause cp to corrupt a copy.

mkfs shows it used 4k blocks:

    $ mkfs -t xfs .blob/xfs
    meta-data=.blob/xfs              isize=256    agcount=4, agsize=19200 blks
             =                       sectsz=512   attr=2, projid32bit=0
    data     =                       bsize=4096   blocks=76800, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0
    log      =internal log           bsize=4096   blocks=1200, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0


> p.s. I'll s/2.6.38/2.6.39/ in that test

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]