Re: [PATCH V3 00/19] Fix tests to work on non-4k block sized fs instances

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

 



On Wed, Sep 12, 2018 at 11:56:07AM +0530, Chandan Rajendra wrote:
> This patchset fixes tests (mostly XFS specific ones) to work on
> variable block size. These patches now use the output of "od" utility
> to verify the contents of the test files instead of the md5sum
> utility.
> 
> Also, The patchset modifies _filter_fiemap() filter function to
> optionally print the file offset range in block size units.
> 
> Changelog:
> V2->V3:
> Added fixes for getting generic/018, generic/108 and generic/459 tests
> to work in 64k block size scenario.
> 
> V1->V2:
> Eryu Guan pointed out that some of the tests were obtaining the
> filesystem's block size value from $TEST_DIR even though the test was
> executed on the $SCRATCH_DEV's filesystem. This version of the
> patchset fixes the following tests to obtain the block size from
> $SCRATCH_MNT. The relevant changes was made to the following tests:
> xfs/009, xfs/050, xfs/074, xfs/139, xfs/140, xfs/190, xfs/299,
> generic/177 and generic/230.
> 
> Chandan Rajendra (19):
>   Fix xfs/009 to work with 64k block size
>   xfs/050: Fix "Push past soft inode limit" case
>   Fix xfs/050 to work with 64k block size
>   Fix xfs/074 to work with 64k block size
>   Fix xfs/127 to work with 64k block size
>   Fix xfs/139 to work with 64k block size
>   Fix xfs/140 to work with 64k block size
>   Fix xfs/190 to work with 64k block size
>   Fix xfs/299 to work with 64k block size
>   xfs/325: Inject free_extent error after CoW operation
>   Fix generic/102 to work with 64k block size
>   Fix generic/172 to work with 64k block size
>   Filter fiemap output by FS block size
>   Fix generic/177 to work with 64k block size
>   Fix generic/230 to work with 64k block size
>   Fix generic/235 to work with 64k block size
>   Fix generic/459 to work with 64k block size
>   Fix generic/018 to work with 64k block size
>   Fix generic/108 to work with 64k block size
> 
>  common/punch          | 19 ++++++++---
>  tests/generic/018     |  2 +-
>  tests/generic/102     |  4 +--
>  tests/generic/102.out | 20 +++++------
>  tests/generic/108     |  4 +--
>  tests/generic/172     |  4 +--
>  tests/generic/177     | 20 ++++++-----
>  tests/generic/177.out | 23 ++++++++-----
>  tests/generic/230     | 23 +++++++------
>  tests/generic/230.out | 16 ++++-----
>  tests/generic/235     |  2 +-
>  tests/generic/235.out |  4 +--
>  tests/generic/459     | 14 ++++----
>  tests/xfs/009         | 92 ++++++++++++++++++++++++++++++++++++++++++---------
>  tests/xfs/009.out     | 66 ++++++++++++++++++------------------
>  tests/xfs/050         | 26 ++++++++++-----
>  tests/xfs/050.out     | 60 ++++++++++++++++-----------------
>  tests/xfs/074         | 23 ++++++++++---
>  tests/xfs/127         |  2 +-
>  tests/xfs/139         | 15 +++++----
>  tests/xfs/139.out     |  8 +++--
>  tests/xfs/140         | 12 ++++---
>  tests/xfs/190         | 26 ++++++++++-----
>  tests/xfs/299         | 29 ++++++++++------
>  tests/xfs/299.out     | 60 ++++++++++++++++-----------------
>  tests/xfs/325         |  5 +--
>  tests/xfs/325.out     |  2 +-
>  27 files changed, 358 insertions(+), 223 deletions(-)
> 
> -- 

Hi,

For help, I've tested this patchset on ppc64le machine with 4.18 released kernel.
But only tested thoses cases which changed, 64k xfs/ext4 and 4k xfs/ext4 all
test passed, refer to [1], [2], [3], [4].

But I tested 512 block size (crc=0) XFS passingly, then hit a new failure:

# ./check xfs/050
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/ppc64le ibm-p9z-16-lp5 4.18.0-xfs-debug                                            
MKFS_OPTIONS  -- -f -b size=512 -m crc=0 /dev/sda5
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda5 /mnt/xfstests/mnt2                      

xfs/050 18s ... - output mismatch (see /root/xfstests-patched/results//xfs/050.out.bad)
    --- tests/xfs/050.out       2018-09-17 05:56:47.738590176 -0400
    +++ /root/xfstests-patched/results//xfs/050.out.bad 2018-09-18 01:12:55.538747111 -0400
    @@ -12,23 +12,24 @@
     
     *** report initial settings
     [ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
    -[NAME] 0 25 125 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]
    +[NAME] 0 24 124 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]
     
     *** push past the soft inode limit
    ...
    (Run 'diff -u tests/xfs/050.out /root/xfstests-patched/results//xfs/050.out.bad'  to see the entire diff)
Ran: xfs/050
Failures: xfs/050
Failed 1 of 1 tests

It test passed on xfstests which doesn't merged above patches:

# ./check xfs/050
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/ppc64le ibm-p9z-16-lp5 4.18.0-xfs-debug
MKFS_OPTIONS  -- -f -b size=512 -m crc=0 /dev/sda5
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda5 /mnt/xfstests/mnt2

xfs/050 16s ...  16s
Ran: xfs/050
Passed all 1 tests

Thanks,
Zorro

[1] Ext4 test passed on 64k block size:
# ./check generic/018 generic/102 generic/108 generic/172 generic/177 generic/230 generic/235 generic/459
FSTYP         -- ext4
PLATFORM      -- Linux/ppc64le ibm-p9z-16-lp5 4.18.0-xfs-debug
MKFS_OPTIONS  -- -b 65536 /dev/sda5
MOUNT_OPTIONS -- -o acl,user_xattr -o context=system_u:object_r:root_t:s0 /dev/sda5 /mnt/xfstests/mnt2

generic/018 7s ...  7s
generic/102 5s ...  44s
generic/108 9s ...  6s
generic/172 16s ... [not run] Reflink not supported by scratch filesystem type: ext4
generic/177 5s ...  5s
generic/230 19s ...  18s
generic/235 4s ...  5s
generic/459 26s ...  19s
Ran: generic/018 generic/102 generic/108 generic/172 generic/177 generic/230 generic/235 generic/459
Not run: generic/172
Passed all 8 tests

[2] XFS test passed on 64k block size:
# ./check generic/018 generic/102 generic/108 generic/172 generic/177  generic/230 generic/235 generic/459 xfs/009 xfs/050 xfs/074 xfs/127 xfs/139 xfs/140 xfs/190 xfs/299 xfs/325
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/ppc64le ibm-p9z-16-lp5 4.18.0-xfs-debug
MKFS_OPTIONS  -- -f -b size=65536 /dev/sda5
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda5 /mnt/xfstests/mnt2

generic/018 5s ...  7s
generic/102 6s ...  5s
generic/108 16s ...  9s
generic/172 12s ...  16s
generic/177 14s ...  5s
generic/230 29s ...  19s
generic/235 5s ...  4s
generic/459 24s ...  26s
xfs/009 6s ...  6s
xfs/050 68s ...  34s
xfs/074 14s ...  7s
xfs/127 16s ...  25s
xfs/139 266s ...  33s
xfs/140 427s ...  90s
xfs/190 27s ...  7s
xfs/299 24s ...  20s
xfs/325 10s ...  9s
Ran: generic/018 generic/102 generic/108 generic/172 generic/177 generic/230 generic/235 generic/459 xfs/009 xfs/050 xfs/074 xfs/127 xfs/139 xfs/140 xfs/190 xfs/299 xfs/325
Passed all 17 tests

[3] Ext4 test passed on default block size
# ./check generic/018 generic/102 generic/108 generic/172 generic/177 generic/230 generic/235 generic/459
FSTYP         -- ext4
PLATFORM      -- Linux/ppc64le ibm-p9z-16-lp5 4.18.0-xfs-debug
MKFS_OPTIONS  -- /dev/sda5
MOUNT_OPTIONS -- -o acl,user_xattr -o context=system_u:object_r:root_t:s0 /dev/sda5 /mnt/xfstests/mnt2

generic/018 7s ...  4s
generic/102 44s ...  52s
generic/108 6s ...  7s
generic/172 16s ... [not run] Reflink not supported by scratch filesystem type: ext4
generic/177 5s ...  3s
generic/230 18s ...  16s
generic/235 5s ...  2s
generic/459 19s ...  22s
Ran: generic/018 generic/102 generic/108 generic/172 generic/177 generic/230 generic/235 generic/459
Not run: generic/172
Passed all 8 tests

[4] XFS test passed on default block size
# ./check generic/018 generic/102 generic/108 generic/172 generic/177 generic/230 generic/235 generic/459 xfs/009 xfs/050 xfs/074 xfs/127 xfs/139 xfs/140 xfs/190 xfs/299 xfs/325
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/ppc64le ibm-p9z-16-lp5 4.18.0-xfs-debug                                            
MKFS_OPTIONS  -- -f -bsize=4096 /dev/sda5
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda5 /mnt/xfstests/mnt2                      

generic/018 8s ...  5s
generic/102 70s ...  6s
generic/108 7s ...  7s
generic/172 16s ...  11s
generic/177 6s ...  4s
generic/230 18s ...  15s
generic/235 5s ...  3s
generic/459 21s ...  20s
xfs/009 6s ...  3s
xfs/050 34s ...  18s
xfs/074 7s ...  9s
xfs/127 25s ...  14s
xfs/139 33s ...  243s
xfs/140 90s ...  286s
xfs/190 7s ...  10s
xfs/299 20s ...  13s
xfs/325 9s ...  4s
Ran: generic/018 generic/102 generic/108 generic/172 generic/177 generic/230 generic/235 generic/459 xfs/009 xfs/050 xfs/074 xfs/127 xfs/139 xfs/140 xfs/190 xfs/299 xfs/325
Passed all 17 tests

> 2.9.5
> 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux