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 Tuesday, September 18, 2018 10:50:27 AM IST Zorro Lang wrote:
> 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

Thanks for testing this. The mismatch happens here due to xfs_quota using 1K as
the minimum block size. I will have to think about how to solve this.

-- 
chandan




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux