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