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
以下case也有类似的问题: generic/684 generic/685 generic/686 generic/687
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
(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
相关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 目前也尚未修复。 ------------------------ 单子关闭处理