Bug 5229 - [Anolis8][aarch64][内部nightly] xfstests测试ext4-4 case:generic/683执行失败
Summary: [Anolis8][aarch64][内部nightly] xfstests测试ext4-4 case:generic/683执行失败
Status: RESOLVED BYDESIGN
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 13:45 UTC by anolislw
Modified: 2023-11-23 16:24 UTC (History)
0 users

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 13:45:55 UTC
Description of problem:
anolis8 aarch64物理机环境,内部nightly xfstests测试ext4-4 case:generic/683执行失败。

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

How reproducible:
Steps to Reproduce:
下载并编译安装内部xfstests
磁盘分好四个盘
mkfs -t ext4 -q -F /dev/nvme0n1p2
mkfs -t ext4 -q -F /dev/nvme0n1p3
mkfs -t ext4 -q -F /dev/nvme0n1p1
mkfs -t ext4 -q -F /dev/nvme0n1p4
mkdir -p /fs/nvme0n1p1
mount -t ext4 /dev/nvme0n1p1 /fs/nvme0n1p1
mkdir -p /fs/nvme0n1p2
mount -t ext4 /dev/nvme0n1p2 /fs/nvme0n1p2
mkdir -p /fs/nvme0n1p3
mount -t ext4 /dev/nvme0n1p3 /fs/nvme0n1p3
mkdir -p /fs/nvme0n1p4
mount -t ext4 /dev/nvme0n1p4 /fs/nvme0n1p4
umount -f -l /fs/nvme0n1p1 /fs/nvme0n1p2 /fs/nvme0n1p3 /fs/nvme0n1p4
#dd if=/dev/zero bs=512 count=512 of=/dev/nvme0n1p2
#dd if=/dev/zero bs=512 count=512 of=/dev/nvme0n1p3
#dd if=/dev/zero bs=512 count=512 of=/dev/nvme0n1p4
export TEST_DIR=/fs/nvme0n1p1
export TEST_DEV=/dev/nvme0n1p1
export FSTYP=ext4
export SCRATCH_MNT=/fs/scratch
mkdir /fs/nvme0n1p1 -p
mkdir /fs/scratch -p
export SCRATCH_DEV=/dev/nvme0n1p4

cd xfstests的安装目录
./check generic/683


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

generic/683       - output mismatch (see /tmp/tone/run/xfstests/results//generic/683.out.bad)
    --- tests/generic/683.out   2023-05-18 13:34:23.724882019 +0800
    +++ /tmp/tone/run/xfstests/results//generic/683.out.bad     2023-05-18 13:40:09.633062004 +0800
    @@ -1,19 +1,19 @@
     QA output created by 683
     Test 1 - qa_user, non-exec file falloc
     6666 -rwSrwSrw- TEST_DIR/683/a
    -666 -rw-rw-rw- TEST_DIR/683/a
    +6666 -rwSrwSrw- TEST_DIR/683/a

     Test 2 - qa_user, group-exec file falloc
    ...
    (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/683.out /tmp/tone/run/xfstests/results//generic/683.out.bad'  to see the entire diff)
Ran: generic/683
Failures: generic/683
Failed 1 of 1 tests

[root@nu4f13168 xfstests]# diff -u /tmp/tone/run/xfstests/tests/generic/683.out /tmp/tone/run/xfstests/results//generic/683.out.bad
--- /tmp/tone/run/xfstests/tests/generic/683.out        2023-05-18 13:34:23.724882019 +0800
+++ /tmp/tone/run/xfstests/results//generic/683.out.bad 2023-05-18 13:40:09.633062004 +0800
@@ -1,19 +1,19 @@
 QA output created by 683
 Test 1 - qa_user, non-exec file falloc
 6666 -rwSrwSrw- TEST_DIR/683/a
-666 -rw-rw-rw- TEST_DIR/683/a
+6666 -rwSrwSrw- TEST_DIR/683/a

 Test 2 - qa_user, group-exec file falloc
 6676 -rwSrwsrw- TEST_DIR/683/a
-676 -rw-rwxrw- TEST_DIR/683/a
+6676 -rwSrwsrw- TEST_DIR/683/a

 Test 3 - qa_user, user-exec file falloc
 6766 -rwsrwSrw- TEST_DIR/683/a
-766 -rwxrw-rw- TEST_DIR/683/a
+6766 -rwsrwSrw- TEST_DIR/683/a

 Test 4 - qa_user, all-exec file falloc
 6777 -rwsrwsrwx TEST_DIR/683/a
-777 -rwxrwxrwx TEST_DIR/683/a
+6777 -rwsrwsrwx TEST_DIR/683/a

 Test 5 - root, non-exec file falloc
 6666 -rwSrwSrw- TEST_DIR/683/a
@@ -37,7 +37,7 @@

 Test 10 - qa_user, group-exec file falloc, only sgid
 2676 -rw-rwsrw- TEST_DIR/683/a
-676 -rw-rwxrw- TEST_DIR/683/a
+2676 -rw-rwsrw- TEST_DIR/683/a

 Test 11 - qa_user, user-exec file falloc, only sgid
 2766 -rwxrwSrw- TEST_DIR/683/a
@@ -45,5 +45,5 @@

 Test 12 - qa_user, all-exec file falloc, only sgid
 2777 -rwxrwsrwx TEST_DIR/683/a
-777 -rwxrwxrwx TEST_DIR/683/a
+2777 -rwxrwsrwx TEST_DIR/683/a


Expected results:
case pass

Additional info:
[root@nu4f13168 xfstests]# uname -r
4.19.91-724.git.c18ed0b83.an8.aarch64
[root@nu4f13168 xfstests]# cat /etc/anolis-release
Anolis OS release 8.8
[root@nu4f13168 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@nu4f13168 xfstests]# cat /proc/cmdline
BOOT_IMAGE=(hd1,gpt2)/boot/vmlinuz-4.19.91-724.git.c18ed0b83.an8.aarch64 root=UUID=323d737a-7faa-46bd-aa30-3b26123bc6cf ro console=tty0 console=ttyS0,115200 rd.driver.pre=ahci slub_debug=FPZU kmemleak=on crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M
[root@nu4f13168 xfstests]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        378G     0  378G   0% /dev
tmpfs           378G     0  378G   0% /dev/shm
tmpfs           378G   35M  378G   1% /run
tmpfs           378G     0  378G   0% /sys/fs/cgroup
/dev/sda2        49G  9.6G   37G  21% /
/dev/sda1      1022M  6.7M 1016M   1% /boot/efi
tmpfs            76G     0   76G   0% /run/user/0
[root@nu4f13168 xfstests]# free -g
              total        used        free      shared  buff/cache   available
Mem:            754         676          78           0           0          76
Swap:             1           0           1
[root@nu4f13168 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 anolislw alibaba_cloud_group 2023-05-18 13:50:01 UTC
以下case也有类似的问题:
generic/684
generic/685
generic/686
generic/687
Comment 2 anolislw alibaba_cloud_group 2023-05-23 15:54:33 UTC
anolis8 aarch64物理机环境 xfstests/ext4-2-overlay测试case:generic/683也存在该问题
-----------------
[root@nu4f13168 xfstests]# ./check -overlay generic/683
mount: /mnt/nvme0n1p1: can't find in /etc/fstab.
FSTYP         -- overlay
PLATFORM      -- Linux/aarch64 nu4f13168 4.19.91-729.git.94e780376.an8.aarch64 #1 SMP Mon May 22 13:57:04 UTC 2023
MKFS_OPTIONS  -- /mnt/nvme0n1p2
MOUNT_OPTIONS -- /mnt/nvme0n1p2 /mnt/nvme0n1p2/ovl-mnt

umount: /mnt/nvme0n1p2: not mounted.
mount: /mnt/nvme0n1p1: can't find in /etc/fstab.
umount: /mnt/nvme0n1p1: not mounted.
generic/683       mount: /mnt/nvme0n1p1: can't find in /etc/fstab.
umount: /mnt/nvme0n1p1: not mounted.
- output mismatch (see /tmp/tone/run/xfstests/results//generic/683.out.bad)
    --- tests/generic/683.out   2023-05-23 15:27:42.013586262 +0800
    +++ /tmp/tone/run/xfstests/results//generic/683.out.bad     2023-05-23 15:52:17.503258013 +0800
    @@ -1,19 +1,19 @@
     QA output created by 683
     Test 1 - qa_user, non-exec file falloc
     6666 -rwSrwSrw- TEST_DIR/683/a
    -666 -rw-rw-rw- TEST_DIR/683/a
    +6666 -rwSrwSrw- TEST_DIR/683/a

     Test 2 - qa_user, group-exec file falloc
    ...
    (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/683.out /tmp/tone/run/xfstests/results//generic/683.out.bad'  to see the entire diff)
Ran: generic/683
Failures: generic/683
Failed 1 of 1 tests

[root@nu4f13168 xfstests]# uname -r
4.19.91-729.git.94e780376.an8.aarch64
[root@nu4f13168 xfstests]# cat /etc/anolis-release
Anolis OS release 8.8
Comment 3 anolislw alibaba_cloud_group 2023-05-23 15:58:15 UTC
(In reply to anolislw from comment #2)
> anolis8 aarch64物理机环境 xfstests/ext4-2-overlay测试case:generic/683也存在该问题
> -----------------
> [root@nu4f13168 xfstests]# ./check -overlay generic/683
> mount: /mnt/nvme0n1p1: can't find in /etc/fstab.
> FSTYP         -- overlay
> PLATFORM      -- Linux/aarch64 nu4f13168
> 4.19.91-729.git.94e780376.an8.aarch64 #1 SMP Mon May 22 13:57:04 UTC 2023
> MKFS_OPTIONS  -- /mnt/nvme0n1p2
> MOUNT_OPTIONS -- /mnt/nvme0n1p2 /mnt/nvme0n1p2/ovl-mnt
> 
> umount: /mnt/nvme0n1p2: not mounted.
> mount: /mnt/nvme0n1p1: can't find in /etc/fstab.
> umount: /mnt/nvme0n1p1: not mounted.
> generic/683       mount: /mnt/nvme0n1p1: can't find in /etc/fstab.
> umount: /mnt/nvme0n1p1: not mounted.
> - output mismatch (see /tmp/tone/run/xfstests/results//generic/683.out.bad)
>     --- tests/generic/683.out   2023-05-23 15:27:42.013586262 +0800
>     +++ /tmp/tone/run/xfstests/results//generic/683.out.bad     2023-05-23
> 15:52:17.503258013 +0800
>     @@ -1,19 +1,19 @@
>      QA output created by 683
>      Test 1 - qa_user, non-exec file falloc
>      6666 -rwSrwSrw- TEST_DIR/683/a
>     -666 -rw-rw-rw- TEST_DIR/683/a
>     +6666 -rwSrwSrw- TEST_DIR/683/a
> 
>      Test 2 - qa_user, group-exec file falloc
>     ...
>     (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/683.out
> /tmp/tone/run/xfstests/results//generic/683.out.bad'  to see the entire diff)
> Ran: generic/683
> Failures: generic/683
> Failed 1 of 1 tests
> 
> [root@nu4f13168 xfstests]# uname -r
> 4.19.91-729.git.94e780376.an8.aarch64
> [root@nu4f13168 xfstests]# cat /etc/anolis-release
> Anolis OS release 8.8


anolis8 aarch64物理机环境 xfstests/ext4-2-overlay测试下面case也有同样问题
generic/684
generic/685
generic/686
generic/687
Comment 4 anolislw alibaba_cloud_group 2023-11-23 16:24:03 UTC
相关bug: https://bugzilla.openanolis.cn/show_bug.cgi?id=3603
开发同学回复意见:
-----------------------
josephqi alibaba_cloud_group 2023-01-09 10:59:05 UTC
应该是下面的补丁修复,在 Linux v5.18 合入:
https://github.com/torvalds/linux/commit/ad5cd4f4ee4d5fcdb1bfb7a0c073072961e70783

其依赖 copy_file_range 系列重构:
[PATCH v4 0/9] Fixes for major copy_file_range() issues,Linux 5.3 合入:
https://lore.kernel.org/all/20190531164701.15112-1-amir73il@gmail.com/

该系列重构改动比较大,因此处理策略同之前针对 copy_file_range 的用例,建议 bypass。

注:ANCK 5.10 已经修复,Linux 4.19-stable 目前也尚未修复。
------------------------
单子关闭处理