Bug 5242 - [Anolis8][aarch64][内部nightly] xfstests ext4-2-bigalloc测试case:generic/263执行失败
Summary: [Anolis8][aarch64][内部nightly] xfstests ext4-2-bigalloc测试case:generic/263执行失败
Status: NEW
Alias: None
Product: Anolis OS 8
Classification: Anolis OS
Component: kernel - anck-4.19 (show other bugs) kernel - anck-4.19
Version: 8.8
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: Jacob
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-18 17:55 UTC by anolislw
Modified: 2023-11-23 13:03 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description anolislw alibaba_cloud_group 2023-05-18 17:55:48 UTC
Description of problem:
anolis8 aarch64物理机环境,内部nightly xfstests ext4-2-bigalloc测试case:generic/263执行失败。

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

How reproducible:

Steps to Reproduce:
下载并编译安装内部xfstests
mkfs -t ext4 -E lazy_itable_init=0,lazy_journal_init=0 -L OStest -q -F -O bigalloc -C 16k -q -F /dev/nvme0n1p1
mkfs -t ext4 -E lazy_itable_init=0,lazy_journal_init=0 -L OStest -q -F -O bigalloc -C 16k -q -F /dev/nvme0n1p2
mkdir /mnt/nvme0n1p1
mkdir /mnt/nvme0n1p2
#TEST_DEV/SCRATCH_DEV为文件系统所在的磁盘或分区
export TEST_DEV=/dev/nvme0n1p1
export SCRATCH_DEV=/dev/nvme0n1p2
export FSTYP=ext4
#TEST_DIR/SCRATCH_MNT表示待测试文件系统的挂载目录
export SCRATCH_MNT=/mnt/nvme0n1p2
export TEST_DIR=/mnt/nvme0n1p1
cd xfstests安装目录
./check generic/263

Actual results:
[root@l57h15217 xfstests]# ./check generic/263
FSTYP         -- ext4
PLATFORM      -- Linux/aarch64 l57h15217 4.19.91-724.git.c18ed0b83.an8.aarch64 #1 SMP Wed May 17 13:56:08 UTC 2023
MKFS_OPTIONS  -- -F /dev/nvme0n1p2
MOUNT_OPTIONS -- -o acl,user_xattr /dev/nvme0n1p2 /mnt/nvme0n1p2

generic/263       [failed, exit status 1]- output mismatch (see /var/lib/xfstests/results//generic/263.out.bad)
    --- tests/generic/263.out   2023-03-28 18:46:05.127033139 +0800
    +++ /var/lib/xfstests/results//generic/263.out.bad  2023-05-18 17:54:44.766146854 +0800
    @@ -1,3 +1,26 @@
     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!
    +main: filesystem does not support exchange range, disabling!
    ...
    (Run 'diff -u /var/lib/xfstests/tests/generic/263.out /var/lib/xfstests/results//generic/263.out.bad'  to see the entire diff)
Ran: generic/263
Failures: generic/263
Failed 1 of 1 tests

[root@l57h15217 xfstests]# diff -u /var/lib/xfstests/tests/generic/263.out /var/lib/xfstests/results//generic/263.out.bad
--- /var/lib/xfstests/tests/generic/263.out     2023-03-28 18:46:05.127033139 +0800
+++ /var/lib/xfstests/results//generic/263.out.bad      2023-05-18 17:54:44.766146854 +0800
@@ -1,3 +1,26 @@
 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!
+main: filesystem does not support exchange range, disabling!
+fallocating to largest ever: 0x6c812
+collapse range: 0x48000 to 0x49000
+do_collapse_range: fallocate: Invalid argument
+LOG DUMP (13 total operations):
+1(  1 mod 256): FALLOC   0x6ba10 thru 0x6c812  (0xe02 bytes) EXTENDING
+2(  2 mod 256): SKIPPED (no operation)
+3(  3 mod 256): SKIPPED (no operation)
+4(  4 mod 256): TRUNCATE DOWN  from 0x6c812 to 0x51800
+5(  5 mod 256): SKIPPED (no operation)
+6(  6 mod 256): MAPREAD  0x1b000 thru 0x1c2b7  (0x12b8 bytes)
+7(  7 mod 256): PUNCH    0x2ce7a thru 0x2e998  (0x1b1f bytes)
+8(  8 mod 256): PUNCH    0x29238 thru 0x2af78  (0x1d41 bytes)
+9(  9 mod 256): SKIPPED (no operation)
+10( 10 mod 256): PUNCH    0x50de6 thru 0x51337 (0x552 bytes)
+11( 11 mod 256): READ     0x8000 thru 0x8fff   (0x1000 bytes)
+12( 12 mod 256): MAPREAD  0x34000 thru 0x3584b (0x184c bytes)
+13( 13 mod 256): COLLAPSE 0x48000 thru 0x48fff (0x1000 bytes)
+Log of operations saved to "/mnt/nvme0n1p1/junk.fsxops"; replay with --replay-ops
+Correct content saved for comparison
+(maybe hexdump "/mnt/nvme0n1p1/junk" vs "/mnt/nvme0n1p1/junk.fsxgood")



Expected results:
case pass

Additional info:
[root@l57h15217 xfstests]# uname -r
4.19.91-724.git.c18ed0b83.an8.aarch64
[root@l57h15217 xfstests]# cat /etc/anolis-release
Anolis OS release 8.8
[root@l57h15217 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@l57h15217 xfstests]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        378G     0  378G   0% /dev
tmpfs           378G  100K  378G   1% /dev/shm
tmpfs           378G  4.1G  374G   2% /run
tmpfs           378G     0  378G   0% /sys/fs/cgroup
/dev/sda2        49G   16G   32G  33% /
/dev/sda1      1022M  6.7M 1016M   1% /boot/efi
tmpfs            76G     0   76G   0% /run/user/0
[root@l57h15217 xfstests]# free -g
              total        used        free      shared  buff/cache   available
Mem:            754         677          75           2           2          73
Swap:             1           1           0
[root@l57h15217 xfstests]# cat /proc/cmdline
BOOT_IMAGE=(hd1,gpt2)/boot/vmlinuz-4.19.91-724.git.c18ed0b83.an8.aarch64 root=UUID=3fbce54d-0f7f-47cf-a94a-c4592d5d6057 ro console=tty0 console=ttyS0,115200 rd.driver.pre=ahci cgwb_v1 psi=1 slub_debug=FPZU kmemleak=on crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M
[root@l57h15217 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
Comment 1 wangpingping alibaba_cloud_group 2023-05-23 14:31:12 UTC
anolis7-4.19-x86 ck27.4版本有同样失败;
内核:4.19.91-27.4.an7.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-22 18:05:38.036799448 +0800
    +++ /tmp/tone/run/xfstests/results//generic/263.out.bad	2023-05-22 18:27:34.741265718 +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 2 anolislw alibaba_cloud_group 2023-11-23 13:03:50 UTC
有相关的问题单子 https://bugzilla.openanolis.cn/show_bug.cgi?id=4840
------------------------
内部跟踪已有分析结论:在开启bigalloc的情况下, fallocate 操作需要 offset|len 与 cluster_size(16K) 对齐,但目前xfstests本身代码不会主动读取磁盘的cluster_zie信息并以此调整合并区间;且测试本身就会对小块做操作,ext4-2-bigalloc下满足不了条件,所以这个case不适用于在ext4-2-bigalloc文件系统中执行,适配用例,关闭该bug。