Re: [PATCH] xfs: new EOF fragmentation tests

Zorro Lang
2024-10-14T14:14:20Z

On Mon, Oct 14, 2024 at 08:07:25AM +0200, Christoph Hellwig wrote:
> On Mon, Oct 14, 2024 at 01:49:36AM +0800, Zorro Lang wrote:
> > Thanks for reworking this patch, it's been merged into fstests, named
> > xfs/629~632. But now these 4 cases always fail on upstream xfs, e.g
> > (diff output) [1][2][3][4]. Could you help to take a look at the
> > failure which Darick metioned above too :)
>
> What do you mean with upstream xfs? Any kernel before the eofblocks
> fixes will obviously fail. Always_cow will also always fail and I'll
> send a patch for that. Any other configuration you've seen?

Sorry, I've lost old test results. From my current test results, the x/629
and x/632 fails [1][2] on pmem device (xfs) with linux v6.12-rc2+
(HEAD=cfea70e835b9180029257d8b772c9e99c3305a9a). The .full output as [3],
the .out.bad output as [4][5]. Besides that, I hit x/629 failed on a loop
device on s390x once (as [6]) with same v6.12-rc2+ kernel.

Thanks,
Zorro

[1]
FSTYP -- xfs (debug)
PLATFORM -- Linux/x86_64 hpe-dl360gen11-01 6.12.0-rc2+ #1 SMP PREEMPT_DYNAMIC Sun Oct 13 15:36:13 EDT 2024
MKFS_OPTIONS -- -f -f -b size=4096 -m crc=1,finobt=1,rmapbt=0,reflink=0,inobtcount=1,bigtime=1 /dev/pmem0
MOUNT_OPTIONS -- -o dax=always -o context=system_u:object_r:root_t:s0 /dev/pmem0 /mnt/fstests/SCRATCH_DIR

xfs/629 - output mismatch (see /var/lib/xfstests/results//xfs/629.out.bad)
--- tests/xfs/629.out 2024-10-13 16:02:57.113908110 -0400
+++ /var/lib/xfstests/results//xfs/629.out.bad 2024-10-14 01:52:24.553081084 -0400
@@ -1,9 +1,17 @@
QA output created by 629
-file.0 extent count is in range
-file.1 extent count is in range
-file.2 extent count is in range
-file.3 extent count is in range
-file.4 extent count is in range
-file.5 extent count is in range
...
(Run 'diff -u /var/lib/xfstests/tests/xfs/629.out /var/lib/xfstests/results//xfs/629.out.bad' to see the entire diff)
Ran: xfs/629
Failures: xfs/629
Failed 1 of 1 tests

[2]
FSTYP -- xfs (debug)
PLATFORM -- Linux/x86_64 hpe-dl360gen11-01 6.12.0-rc2+ #1 SMP PREEMPT_DYNAMIC Sun Oct 13 15:36:13 EDT 2024
MKFS_OPTIONS -- -f -f -b size=4096 -m crc=1,finobt=1,rmapbt=0,reflink=0,inobtcount=1,bigtime=1 /dev/pmem0
MOUNT_OPTIONS -- -o dax=always -o context=system_u:object_r:root_t:s0 /dev/pmem0 /mnt/fstests/SCRATCH_DIR

xfs/632 - output mismatch (see /var/lib/xfstests/results//xfs/632.out.bad)
--- tests/xfs/632.out 2024-10-13 16:02:57.166908766 -0400
+++ /var/lib/xfstests/results//xfs/632.out.bad 2024-10-14 01:55:32.671284956 -0400
@@ -1,33 +1,65 @@
QA output created by 632
-file.0 extent count is in range
-file.1 extent count is in range
-file.2 extent count is in range
-file.3 extent count is in range
-file.4 extent count is in range
-file.5 extent count is in range
...
(Run 'diff -u /var/lib/xfstests/tests/xfs/632.out /var/lib/xfstests/results//xfs/632.out.bad' to see the entire diff)
Ran: xfs/632
Failures: xfs/632
Failed 1 of 1 tests

[3]
meta-data=/dev/pmem0 isize=512 agcount=4, agsize=655360 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=0 bigtime=1 inobtcount=1 nrext64=1
= exchange=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1, parent=0
log =internal log bsize=4096 blocks=300954, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

[4]
QA output created by 629
file.0 extent count has value of 520
file.0 extent count is NOT in range 2 .. 40
file.1 extent count has value of 627
file.1 extent count is NOT in range 2 .. 40
file.2 extent count has value of 776
file.2 extent count is NOT in range 2 .. 40
file.3 extent count has value of 725
file.3 extent count is NOT in range 2 .. 40
file.4 extent count has value of 672
file.4 extent count is NOT in range 2 .. 40
file.5 extent count has value of 709
file.5 extent count is NOT in range 2 .. 40
file.6 extent count has value of 660
file.6 extent count is NOT in range 2 .. 40
file.7 extent count has value of 703
file.7 extent count is NOT in range 2 .. 40

[5]
QA output created by 632
file.0 extent count has value of 762
file.0 extent count is NOT in range 1 .. 16
file.1 extent count has value of 800
file.1 extent count is NOT in range 1 .. 16
file.2 extent count has value of 800
file.2 extent count is NOT in range 1 .. 16
file.3 extent count has value of 794
file.3 extent count is NOT in range 1 .. 16
file.4 extent count has value of 800
file.4 extent count is NOT in range 1 .. 16
file.5 extent count has value of 787
file.5 extent count is NOT in range 1 .. 16
file.6 extent count has value of 788
file.6 extent count is NOT in range 1 .. 16
file.7 extent count has value of 800
file.7 extent count is NOT in range 1 .. 16
file.8 extent count has value of 799
file.8 extent count is NOT in range 1 .. 16
file.9 extent count has value of 800
file.9 extent count is NOT in range 1 .. 16
file.10 extent count has value of 793
file.10 extent count is NOT in range 1 .. 16
file.11 extent count has value of 800
file.11 extent count is NOT in range 1 .. 16
file.12 extent count has value of 800
file.12 extent count is NOT in range 1 .. 16
file.13 extent count has value of 800
file.13 extent count is NOT in range 1 .. 16
file.14 extent count has value of 800
file.14 extent count is NOT in range 1 .. 16
file.15 extent count has value of 800
file.15 extent count is NOT in range 1 .. 16
file.16 extent count has value of 800
file.16 extent count is NOT in range 1 .. 16
file.17 extent count has value of 800
file.17 extent count is NOT in range 1 .. 16
file.18 extent count has value of 800
file.18 extent count is NOT in range 1 .. 16
file.19 extent count has value of 797
file.19 extent count is NOT in range 1 .. 16
file.20 extent count has value of 782
file.20 extent count is NOT in range 1 .. 16
file.21 extent count has value of 800
file.21 extent count is NOT in range 1 .. 16
file.22 extent count has value of 800
file.22 extent count is NOT in range 1 .. 16
file.23 extent count has value of 800
file.23 extent count is NOT in range 1 .. 16
file.24 extent count has value of 792
file.24 extent count is NOT in range 1 .. 16
file.25 extent count has value of 777
file.25 extent count is NOT in range 1 .. 16
file.26 extent count has value of 799
file.26 extent count is NOT in range 1 .. 16
file.27 extent count has value of 800
file.27 extent count is NOT in range 1 .. 16
file.28 extent count has value of 793
file.28 extent count is NOT in range 1 .. 16
file.29 extent count has value of 800
file.29 extent count is NOT in range 1 .. 16
file.30 extent count has value of 797
file.30 extent count is NOT in range 1 .. 16

[6]
FSTYP -- xfs (debug)
PLATFORM -- Linux/s390x s390x-kvm-003 6.12.0-rc2+ #1 SMP Sun Oct 13 15:47:15 EDT 2024
MKFS_OPTIONS -- -f -m crc=1,finobt=1,reflink=1,rmapbt=1,bigtime=1,inobtcount=1 -b size=1024 /dev/loop1
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/loop1 /mnt/fstests/SCRATCH_DIR

xfs/629 - output mismatch (see /var/lib/xfstests/results//xfs/629.out.bad)
--- tests/xfs/629.out 2024-10-13 15:56:03.564908748 -0400
+++ /var/lib/xfstests/results//xfs/629.out.bad 2024-10-13 18:45:54.344510502 -0400
@@ -1,9 +1,16 @@
QA output created by 629
-file.0 extent count is in range
-file.1 extent count is in range
-file.2 extent count is in range
-file.3 extent count is in range
-file.4 extent count is in range
-file.5 extent count is in range
...
(Run 'diff -u /var/lib/xfstests/tests/xfs/629.out /var/lib/xfstests/results//xfs/629.out.bad' to see the entire diff)
Ran: xfs/629
Failures: xfs/629
Failed 1 of 1 tests
>