Bug 4840 - [Anck-5.10-16][x86-64/aarch64][内部nightly]xfstests->ext4-2-bigalloc:generic/263用例执行失败, output mismatch
Summary: [Anck-5.10-16][x86-64/aarch64][内部nightly]xfstests->ext4-2-bigalloc:generic/26...
Status: CLOSED WONTFIX
Alias: None
Product: Antest
Classification: Infrastructures
Component: 测试用例 (show other bugs) 测试用例
Version: unspecified
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: yunmeng365524
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-26 15:03 UTC by yunhe123
Modified: 2023-11-10 14:08 UTC (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description yunhe123 alibaba_cloud_group 2023-04-26 15:03:24 UTC
Description of problem:
[Anck 5.10][aarch64][内部nightly]xfstests->ext4-2-bigalloc:generic/263用例执行失败, output mismatch,日志如下:
[failed, exit status 1]- output mismatch (see /tmp/tone/run/xfstests/results//generic/263.out.bad)
    --- tests/generic/263.out   2023-04-26 10:23:00.837749430 +0800
    +++ /tmp/tone/run/xfstests/results//generic/263.out.bad     2023-04-26 14:01:56.469749430 +0800
    @@ -1,3 +1,18 @@
     QA output created by 263
     fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    -fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    +Seed set to 1
    +main: filesystem does not support clone range, disabling!
    +main: filesystem does not support dedupe range, disabling!
    +skipping zero size read
    ...
    (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/263.out /tmp/tone/run/xfstests/results//generic/263.out.bad'  to see the entire diff)

# diff -u /tmp/tone/run/xfstests/tests/generic/263.out /tmp/tone/run/xfstests/results//generic/263.out.bad
--- /tmp/tone/run/xfstests/tests/generic/263.out        2023-04-26 10:23:00.837749430 +0800
+++ /tmp/tone/run/xfstests/results//generic/263.out.bad 2023-04-26 14:01:56.469749430 +0800
@@ -1,3 +1,18 @@
 QA output created by 263
 fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
-fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
+Seed set to 1
+main: filesystem does not support clone range, disabling!
+main: filesystem does not support dedupe range, disabling!
+skipping zero size read
+truncating to largest ever: 0xe400
+insert range: 0x6000 to 0x7000
+do_insert_range: fallocate: Invalid argument
+LOG DUMP (5 total operations):
+1(  1 mod 256): SKIPPED (no operation)
+2(  2 mod 256): SKIPPED (no operation)
+3(  3 mod 256): SKIPPED (no operation)
+4(  4 mod 256): TRUNCATE UP    from 0x0 to 0xe400
+5(  5 mod 256): INSERT 0x6000 thru 0x6fff      (0x1000 bytes)
+Log of operations saved to "/fs/nvme0n1p1/junk.fsxops"; replay with --replay-ops
+Correct content saved for comparison
+(maybe hexdump "/fs/nvme0n1p1/junk" vs "/fs/nvme0n1p1/junk.fsxgood")


Version-Release number of selected component (if applicable):


How reproducible:
必现


Steps to Reproduce:
disk1=nvme0n1p1
disk2=nvme0n1p2
mkdir -p /fs/$disk1 /fs/$disk2
export TEST_DIR=/fs/$disk1
export TEST_DEV=/dev/$disk1
export SCRATCH_MNT=/fs/$disk2
export SCRATCH_DEV=/dev/$disk2

git clone --branch anck-4.19 https://gitee.com/anolis/xfstests.git
export CFLAGS="-fcommon"
make configure
./configure
make && make install
./check tests/generic/075


Actual results:
用例执行失败

Expected results:
用例执行pass


Additional info:
# uname -r
5.10.134-631.git.df0033244.an8.aarch64
[root@nu4f13165 xfstests]#
[root@nu4f13165 xfstests]# cat /etc/os-release
NAME="Anolis OS"
VERSION="8.8"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.8"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.8"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"

[root@nu4f13165 xfstests]# lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              96
On-line CPU(s) list: 0-95
Thread(s) per core:  1
Core(s) per socket:  48
Socket(s):           2
NUMA node(s):        1
Vendor ID:           HiSilicon
BIOS Vendor ID:      HiSilicon
Model:               0
Model name:          Kunpeng-920
BIOS Model name:     HUAWEI Kunpeng 920 5250
Stepping:            0x1
CPU MHz:             2600.000
CPU max MHz:         2600.0000
CPU min MHz:         200.0000
BogoMIPS:            200.00
L1d cache:           64K
L1i cache:           64K
L2 cache:            512K
L3 cache:            24576K
NUMA node0 CPU(s):   0-95
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
[root@nu4f13165 xfstests]# free -h
              total        used        free      shared  buff/cache   available
Mem:          753Gi       3.4Gi       746Gi        10Mi       3.7Gi       746Gi
Swap:         2.0Gi          0B       2.0Gi
Comment 1 zhixin01 alibaba_cloud_group 2023-05-16 16:39:56 UTC
anolis8-4.19-x86_64也有同样的失败
# uname -r
4.19.91-710.git.30c6cdce0a.an8.x86_64

测试日志如下:
    --- tests/generic/263.out   2023-05-16 16:00:08.850949665 +0800
    +++ /tmp/tone/run/xfstests/results//generic/263.out.bad     2023-05-16 16:34:12.303923979 +0800
    @@ -1,3 +1,18 @@
     QA output created by 263
     fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    -fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    +Seed set to 1
    +main: filesystem does not support clone range, disabling!
    +main: filesystem does not support dedupe range, disabling!
    +skipping zero size read
    ...
    (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/263.out /tmp/tone/run/xfstests/results//generic/263.out.bad'  to see the entire diff)
Ran: generic/263
Failures: generic/263
Failed 1 of 1 tests

[tone]Error: The return code of run() in run.sh is not 0
generic/263: Failed
Test running: Done

# diff -u /tmp/tone/run/xfstests/tests/generic/263.out /tmp/tone/run/xfstests/results//generic/263.out.bad
--- /tmp/tone/run/xfstests/tests/generic/263.out        2023-05-16 16:00:08.850949665 +0800
+++ /tmp/tone/run/xfstests/results//generic/263.out.bad 2023-05-16 16:34:12.303923979 +0800
@@ -1,3 +1,18 @@
 QA output created by 263
 fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
-fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
+Seed set to 1
+main: filesystem does not support clone range, disabling!
+main: filesystem does not support dedupe range, disabling!
+skipping zero size read
+truncating to largest ever: 0xe400
+insert range: 0x6000 to 0x7000
+do_insert_range: fallocate: Invalid argument
+LOG DUMP (5 total operations):
+1(  1 mod 256): SKIPPED (no operation)
+2(  2 mod 256): SKIPPED (no operation)
+3(  3 mod 256): SKIPPED (no operation)
+4(  4 mod 256): TRUNCATE UP    from 0x0 to 0xe400
+5(  5 mod 256): INSERT 0x6000 thru 0x6fff      (0x1000 bytes)
+Log of operations saved to "/fs/nvme0n1p1/junk.fsxops"; replay with --replay-ops
+Correct content saved for comparison
+(maybe hexdump "/fs/nvme0n1p1/junk" vs "/fs/nvme0n1p1/junk.fsxgood")
Comment 2 meil_wei alibaba_cloud_group 2023-05-18 17:40:41 UTC
alinux2 x86版本有同样问题

# uname -r
4.19.91-1411.git.c18ed0b83a1b.al7.x86_64

generic/263       [failed, exit status 1]- output mismatch (see /tmp/tone/run/xfstests/results//generic/263.out.bad)
    --- tests/generic/263.out	2023-05-17 22:30:57.264025191 +0800
    +++ /tmp/tone/run/xfstests/results//generic/263.out.bad	2023-05-17 22:57:57.746661701 +0800
    @@ -1,3 +1,18 @@
     QA output created by 263
     fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    -fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    +Seed set to 1
    +main: filesystem does not support clone range, disabling!
    +main: filesystem does not support dedupe range, disabling!
    +skipping zero size read
    ...
    (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/263.out /tmp/tone/run/xfstests/results//generic/263.out.bad'  to see the entire diff)
Comment 3 shanxifanshi alibaba_cloud_group 2023-10-13 18:08:21 UTC
alinux3 016 rc1版本测试,spr ecs,该问题仍然存在

# uname -r
5.10.134-16_rc1.al8.x86_64

测试日志:
generic/263 5s ... [failed, exit status 1]- output mismatch (see /var/tmp/tone/run/xfstests/results//generic/263.out.bad)
    --- tests/generic/263.out	2023-10-11 10:50:55.000000000 +0800
    +++ /var/tmp/tone/run/xfstests/results//generic/263.out.bad	2023-10-13 15:51:57.797783063 +0800
    @@ -1,3 +1,18 @@
     QA output created by 263
     fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    -fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    +Seed set to 1
    +main: filesystem does not support clone range, disabling!
    +main: filesystem does not support dedupe range, disabling!
    +skipping zero size read
    ...
    (Run 'diff -u /var/tmp/tone/run/xfstests/tests/generic/263.out /var/tmp/tone/run/xfstests/results//generic/263.out.bad'  to see the entire diff)
Comment 4 yunhe123 alibaba_cloud_group 2023-10-13 18:14:53 UTC
alinux3-5.10.134-16_rc1.al8内核依旧有此问题:
日志如下:
generic/263 5s ... [failed, exit status 1]- output mismatch (see /var/tmp/tone/run/xfstests/results//generic/263.out.bad)
    --- tests/generic/263.out	2023-10-11 18:02:42.641864643 +0800
    +++ /var/tmp/tone/run/xfstests/results//generic/263.out.bad	2023-10-12 21:25:30.545507993 +0800
    @@ -1,3 +1,18 @@
     QA output created by 263
     fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    -fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
    +Seed set to 1
    +main: filesystem does not support clone range, disabling!
    +main: filesystem does not support dedupe range, disabling!
    +skipping zero size read
    ...
    (Run 'diff -u /var/tmp/tone/run/xfstests/tests/generic/263.out /var/tmp/tone/run/xfstests/results//generic/263.out.bad'  to see the entire diff)
Comment 5 yunmeng365524 2023-10-19 14:40:38 UTC
在016版本内部跟踪
Comment 6 yunhe123 alibaba_cloud_group 2023-11-10 14:08:49 UTC
内部跟踪已有分析结论:在开启bigalloc的情况下, fallocate 操作需要 offset|len 与 cluster_size(16K) 对齐,但目前xfstests本身代码不会主动读取磁盘的cluster_zie信息并以此调整合并区间;且测试本身就会对小块做操作,ext4-2-bigalloc下满足不了条件,所以这个case不适用于在ext4-2-bigalloc文件系统中执行,适配用例,关闭该bug。