[问题描述]: ext4-nfsv3-2 generic/444测试项Fail:预期输出权限是drwxrwsr-x,实际是drwxrwxr-x [root@iZbp143ti4ccpaufkzata7Z xfstests]# ./check tests/generic/444 FSTYP -- nfs PLATFORM -- Linux/aarch64 iZbp143ti4ccpaufkzata7Z 6.6.25-2_rc1.an23.aarch64 #1 SMP PREEMPT_DYNAMIC Thu Apr 11 15:02:38 CST 2024 MKFS_OPTIONS -- localhost:/export//fs/nvme1n1p2 MOUNT_OPTIONS -- -o vers=3 -o context=system_u:object_r:root_t:s0 localhost:/export//fs/nvme1n1p2 /nfs/nvme1n1p2 generic/444 1s ... - output mismatch (see /root/tone/run/xfstests/results//generic/444.out.bad) --- tests/generic/444.out 2024-04-19 15:32:09.867557739 +0800 +++ /root/tone/run/xfstests/results//generic/444.out.bad 2024-05-10 14:59:21.511348658 +0800 @@ -1,3 +1,3 @@ QA output created by 444 drwxrwsr-x -drwxrwsr-x +drwxrwxr-x ... (Run 'diff -u /root/tone/run/xfstests/tests/generic/444.out /root/tone/run/xfstests/results//generic/444.out.bad' to see the entire diff) Ran: generic/444 Failures: generic/444 Failed 1 of 1 tests [root@iZbp143ti4ccpaufkzata7Z xfstests]# sdiff /root/tone/run/xfstests/tests/generic/444.out /root/tone/run/xfstests/results//generic/444.out.bad QA output created by 444 QA output created by 444 drwxrwsr-x drwxrwsr-x drwxrwsr-x | drwxrwxr-x [环境信息]: 机器类型:ECS [内核信息]: [root@iZbp143ti4ccpaufkzata7Z xfstests]# uname -r 6.6.25-2_rc1.an23.aarch64 [操作系统信息]: [root@iZbp143ti4ccpaufkzata7Z xfstests]# cat /etc/os-release NAME="Anolis OS" VERSION="23" ID="anolis" VERSION_ID="23" PLATFORM_ID="platform:an23" PRETTY_NAME="Anolis OS 23" ANSI_COLOR="0;31" HOME_URL="https://openanolis.cn/" BUG_REPORT_URL="https://bugzilla.openanolis.cn/" [文件系统] [root@iZbp143ti4ccpaufkzata7Z xfstests]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 16G 0 16G 0% /dev/shm tmpfs tmpfs 6.1G 768K 6.1G 1% /run efivarfs efivarfs 256K 17K 240K 7% /sys/firmware/efi/efivars /dev/nvme0n1p2 xfs 40G 11G 30G 27% / tmpfs tmpfs 16G 0 16G 0% /tmp /dev/nvme0n1p1 vfat 500M 6.5M 494M 2% /boot/efi tmpfs tmpfs 3.1G 0 3.1G 0% /run/user/0 [问题发生概率]: 必现 [复现步骤]: 1、部署xfstests测试环境 2、设置以下测试环境 dmsetup remove_all wipefs -a --force /dev/nvme1n1p1 wipefs -a --force /dev/nvme1n1p2 mkfs -t ext4 -q -F /dev/nvme1n1p1 mkfs -t ext4 -q -F /dev/nvme1n1p2 mkdir -p /fs/nvme1n1p1 mount -t ext4 /dev/nvme1n1p1 /fs/nvme1n1p1 mkdir -p /fs/nvme1n1p1 mount -t ext4 /dev/nvme1n1p2 /fs/nvme1n1p2 yum install -y nfs-utils nfs4-acl-tools mkdir -p /export mount -t tmpfs nfsv4_root_export /export mkdir -p /export//fs/nvme1n1p1 mount --bind /fs/nvme1n1p1 /export//fs/nvme1n1p1 echo '/export *(fsid=0,rw,no_subtree_check,no_root_squash)' > /etc/exports echo '/export//fs/nvme1n1p1 *(rw,no_subtree_check,no_root_squash)' >> /etc/exports mkdir -p /export//fs/nvme1n1p2 mount --bind /fs/nvme1n1p2 /export//fs/nvme1n1p2 echo '/export//fs/nvme1n1p2 *(rw,no_subtree_check,no_root_squash)' >> /etc/exports systemctl restart rpcbind systemctl restart nfs-server exportfs -r mkdir -p /nfs/nvme1n1p1 mount -t nfs -o vers=3 localhost:/export//fs/nvme1n1p1 /nfs/nvme1n1p1 mkdir -p /nfs/nvme1n1p2 mount -t nfs -o vers=3 localhost:/export//fs/nvme1n1p2 /nfs/nvme1n1p2 umount -f -l /nfs/nvme1n1p1 /nfs/nvme1n1p2 /fs/nvme1n1p1 /fs/nvme1n1p2 export TEST_DIR=/nfs/nvme1n1p1 export TEST_DEV=/dev/nvme1n1p1 export FSTYP=nfs export nfsvers=3 export SCRATCH_MNT=/fs/scratch mkdir /nfs/nvme1n1p1 -p mkdir /fs/scratch -p chmod 755 -R /fs export SCRATCH_DEV=/dev/nvme1n1p2 export TEST_DIR=/nfs/nvme1n1p1 export SCRATCH_MNT=/nfs/nvme1n1p2 export TEST_DEV=localhost:/export//fs/nvme1n1p1 export SCRATCH_DEV=localhost:/export//fs/nvme1n1p2 export 'TEST_FS_MOUNT_OPTS=-o vers=3' export 'MOUNT_OPTIONS=-o vers=3' chmod 755 -R /nfs 3、执行测试命令 ./check tests/generic/444
在6.6.71-3_rc1.al8.aarch64环境下,ext4-nfsv3-2 generic/444测试项也存在同样的问题 generic/444 - output mismatch (see /var/tmp/tone/run/xfstests/results//generic/444.out.bad) --- tests/generic/444.out 2025-03-04 13:43:34.421776147 +0800 +++ /var/tmp/tone/run/xfstests/results//generic/444.out.bad 2025-03-04 15:07:54.705592204 +0800 @@ -1,3 +1,3 @@ QA output created by 444 drwxrwsr-x -drwxrwsr-x +drwxrwxr-x ... (Run 'diff -u /var/tmp/tone/run/xfstests/tests/generic/444.out /var/tmp/tone/run/xfstests/results//generic/444.out.bad' to see the entire diff) Ran: generic/444 Failures: generic/444 Failed 1 of 1 tests #uname -r 6.6.71-3_rc1.al8.aarch64 #cat /etc/os-release NAME="Alibaba Cloud Linux" VERSION="3 (Soaring Falcon)" ID="alinux" ID_LIKE="rhel fedora centos anolis" VERSION_ID="3" UPDATE_ID="10" PLATFORM_ID="platform:al8" PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)" ANSI_COLOR="0;31" HOME_URL="https://www.aliyun.com/"
在alinux3的环境上,6.6.71-3_rc1.al8.x86_64内核,也存在该问题 generic/444 2s ... - output mismatch (see /var/tmp/tone/run/xfstests/results//generic/444.out.bad) --- tests/generic/444.out 2025-03-03 23:23:36.976669314 +0800 +++ /var/tmp/tone/run/xfstests/results//generic/444.out.bad 2025-03-06 10:04:36.997602150 +0800 @@ -1,3 +1,3 @@ QA output created by 444 drwxrwsr-x -drwxrwsr-x +drwxrwxr-x ... (Run 'diff -u /var/tmp/tone/run/xfstests/tests/generic/444.out /var/tmp/tone/run/xfstests/results//generic/444.out.bad' to see the entire diff) Ran: generic/444 Failures: generic/444 Failed 1 of 1 tests [tone]Error: The return code of run() in run.sh is not 0 exportfs -u *:/export/fs/nvme0n1p1 umount -l -f /export/fs/nvme0n1p1 exportfs -u *:/export/fs/nvme0n1p2 umount -l -f /export/fs/nvme0n1p2 exportfs -u *:/export umount -l -f /export umount -l -f /fs/nvme0n1p1 umount -l -f /fs/nvme0n1p2 generic/444: Fail Test running: Done [root@x31l11107.sqa.na131 /var/tmp/tone] # uname -r 6.6.71-3_rc1.al8.x86_64