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: Mon, 11 Apr 2011 22:09:24 +0200

Pádraig Brady wrote:
> On 09/04/11 00:37, Pádraig Brady wrote:
>> One thing I'm worried about is fiemap with compressed file systems.
>> I'm unsure that the extent length refers to the length of
>> the unencoded data. That's what I would expect so that
>> user space is abstracted from encoding details and so
>> we know how much to read to fully process an extent.
>>
>> I've not got a new BTRFS kernel readily available at present
>> to do a quick test. I'll try to text tomorrow night.
>
> I've tried various BTRFS combinations here with 2.6.38.2-9.fc15.i686.
> I'm using `mount -o compress -o compress-force`, but any files
> copied into the file system, don't have FIEMAP_EXTENT_ENCODED flags,
> and du doesn't indicate that less space is used in the file system.

Thanks for testing that.
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



reply via email to

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