[缺陷描述]: erofs-utils测试套下的erofs/022用例fail,新增加的测试套,最近添加到nightly任务中必现fail 部分测试日志: make check-TESTS make[3]: Entering directory '/root/erofs-utils-tests/tests' PASS: erofs/001 PASS: erofs/002 PASS: erofs/003 PASS: erofs/004 PASS: erofs/005 PASS: erofs/006 SKIP: erofs/007 SKIP: erofs/008 SKIP: erofs/009 SKIP: erofs/010 SKIP: erofs/011 PASS: erofs/012 PASS: erofs/013 PASS: erofs/014 PASS: erofs/015 PASS: erofs/016 SKIP: erofs/017 SKIP: erofs/018 PASS: erofs/019 PASS: erofs/020 PASS: erofs/021 FAIL: erofs/022 PASS: erofs/023 ============================================= 1 of 16 tests failed (7 tests were not run) Please report to linux-erofs@lists.ozlabs.org ============================================= make[3]: *** [Makefile:548: check-TESTS] Error 1 make[3]: Leaving directory '/root/erofs-utils-tests/tests' make[2]: *** [Makefile:699: check-am] Error 2 make[2]: Leaving directory '/root/erofs-utils-tests/tests' make[1]: *** [Makefile:455: check-recursive] Error 1 make[1]: Leaving directory '/root/erofs-utils-tests/tests' make: *** [Makefile:421: check-recursive] Error 1 复现环境: anck 5.10 x86物理机 复现概率: 必现 内核信息: # uname -r 5.10.134-80.git.f019c570a1.an8.x86_64 操作系统信息: # 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/" cpu信息: # lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 32 On-line CPU(s) list: 0-31 Thread(s) per core: 2 Core(s) per socket: 16 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel BIOS Vendor ID: Intel CPU family: 6 Model: 79 Model name: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz BIOS Model name: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz Stepping: 1 CPU MHz: 2491.874 CPU max MHz: 2500.0000 CPU min MHz: 1200.0000 BogoMIPS: 4988.07 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 40960K NUMA node0 CPU(s): 0-31 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap intel_pt xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm arat pln pts 内存信息: # free -h total used free shared buff/cache available Mem: 125Gi 1.2Gi 123Gi 223Mi 824Mi 122Gi Swap: 2.0Gi 53Mi 1.9Gi 内核参数: # cat /proc/cmdline BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.10.134-80.git.f019c570a1.an8.x86_64 root=UUID=16fce93c-18ec-415d-aa04-13b074e4132b ro console=tty0 console=ttyS0,115200 cgroup.memory=nokmem crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M kfence.sample_interval=100 [复现步骤]: git clone https://gitlab.alibaba-inc.com/xize.gx/erofs-utils-tests.git cd erofs-utils-tests ./autogen.sh ./configure 编译并执行全部用例 make check [期望结果]: 用例pass [实际结果]: 用例fail
anck-5.10-aarch64 内部nightly存在同样的问题,erofs/022用例的详细日志如下: + _mkfs /tmp/826579/erofs_022.img /tmp/826579/022 + local mkfs_dev=/tmp/826579/erofs_022.img + shift 1 + local extra_mkfs_options=/tmp/826579/022 + local mkfs_cmd=../mkfs/mkfs.erofs + local mkfs_filter=true + _do_mkfs ../mkfs/mkfs.erofs true /tmp/826579/erofs_022.img /tmp/826579/022 + mkfs_status=0 + cat /tmp/826579.mkfsstd mkfs.erofs 1.6-g58f8266e Build completed. + cat /tmp/826579.mkfserr + local mkfs_cmd=../mkfs/mkfs.erofs + local mkfs_filter=true + local mkfs_dev=/tmp/826579/erofs_022.img + shift 3 + local extra_mkfs_options=/tmp/826579/022 + local mkfs_status ++ mktemp -u + local tmp=/tmp/tmp.Kp8l7X2rhp + eval '../mkfs/mkfs.erofs -x1 --xattr-prefix=user.infix. --xattr-prefix=user.infixBB /tmp/826579/erofs_022.img /tmp/826579/022' + mkfs_status=0 + cat /tmp/tmp.Kp8l7X2rhp.mkfsstd + eval 'cat /tmp/tmp.Kp8l7X2rhp.mkfserr | true' ++ cat /tmp/tmp.Kp8l7X2rhp.mkfserr ++ true + rm -f /tmp/tmp.Kp8l7X2rhp.mkfserr /tmp/tmp.Kp8l7X2rhp.mkfsstd + return 0 + rm -f /tmp/826579.mkfserr /tmp/826579.mkfsstd ++ echo /tmp/826579/022 ++ sed -n 's/^.*blobdev=\(.*\)$/\1/p' ++ awk '{print $1}' + local blobdev= + local fsck_options=--extract + '[' -n '' ']' + '[' 0 -eq 0 ']' + ../fsck/fsck.erofs --extract /tmp/826579/erofs_022.img + return 0 + _try_scratch_mount ++ _scratch_mount_options +++ echo '' +++ grep -q fsid ++ '[' erofs '!=' erofsfuse -a -f /tmp/826579/erofs_022.img ']' ++ SCRATCH_OPTIONS=' -o loop' ++ echo -o loop /tmp/826579/erofs_022.img /tmp/erofstest/scratch + _try_mount -o loop /tmp/826579/erofs_022.img /tmp/erofstest/scratch + '[' erofs = erofsfuse ']' + _do_mount -o loop /tmp/826579/erofs_022.img /tmp/erofstest/scratch + local 'extra_mount_options=-o loop /tmp/826579/erofs_022.img /tmp/erofstest/scratch' + local mount_status ++ mktemp -u + local tmp=/tmp/tmp.mnN69lWicL + local 'mount_filter=awk '\''{print $NF}'\'' FS=: | sed '\''s/^ *//g'\''' + eval '/usr/bin/mount -t erofs -o loop /tmp/826579/erofs_022.img /tmp/erofstest/scratch' + mount_status=32 + cat /tmp/tmp.mnN69lWicL.mountstd + eval 'cat /tmp/tmp.mnN69lWicL.mounterr | awk '\''{print $NF}'\'' FS=: | sed '\''s/^ *//g'\''' ++ cat /tmp/tmp.mnN69lWicL.mounterr ++ awk '{print $NF}' FS=: ++ sed 's/^ *//g' ++ /usr/bin/mount -t erofs -o loop /tmp/826579/erofs_022.img /tmp/erofstest/scratch wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error. + rm -f /tmp/tmp.mnN69lWicL.mounterr /tmp/tmp.mnN69lWicL.mountstd + return 32 + _fail 'scratch mount failed' + echo 'scratch mount failed' + tee -a /tmp/tone/run/erofs-utils/tests/results/erofs/022.full scratch mount failed + echo '(see /tmp/tone/run/erofs-utils/tests/results/erofs/022.full for details)' + status=1 + exit 1 + _cleanup + _check_results + '[' -z . ']' + '[' -f /tmp/tone/run/erofs-utils/tests/results/erofs/022.notrun ']' ++ dirname ./erofs/022 + diff ./erofs/022.out /tmp/826579.out + mv /tmp/826579.out /tmp/tone/run/erofs-utils/tests/results/erofs/022.out.bad + return 1 + res=1 + _scratch_unmount + _test_unmount + cleanup + cd / + rm -rf '/tmp/826579.*' + rm -rf /tmp/826579/ + '[' 1 -ne 0 ']' + exit 1 内核版本: # uname -r 5.10.134-759.git.f019c570a1.an8.aarch64
alinux 5.10内核存在同样失败; 内核:5.10.134-1033.git.3090e0acdbe6.al8.x86_64
测试用例需要检测内核是否支持long prefixes特性。
long xattr name prefixes 特性没有回合到 ANCK 4.19/5.10
(In reply to Jingbo Xu from comment #4) > long xattr name prefixes 特性没有回合到 ANCK 4.19/5.10 建议先作为 known issue
an8和alinux3 016 内核,该问题仍然存在 make[3]: Entering directory '/tmp/tone/run/erofs-utils/tests' PASS: erofs/001 PASS: erofs/002 PASS: erofs/003 PASS: erofs/004 PASS: erofs/005 PASS: erofs/006 SKIP: erofs/007 SKIP: erofs/008 SKIP: erofs/009 SKIP: erofs/010 SKIP: erofs/011 PASS: erofs/012 PASS: erofs/013 PASS: erofs/014 PASS: erofs/015 PASS: erofs/016 SKIP: erofs/017 SKIP: erofs/018 PASS: erofs/019 PASS: erofs/020 PASS: erofs/021 FAIL: erofs/022
anck 016 内核,该问题仍然存在 make[3]: Entering directory '/tmp/tone/run/erofs-utils/tests' PASS: erofs/001 PASS: erofs/002 PASS: erofs/003 PASS: erofs/004 PASS: erofs/005 PASS: erofs/006 SKIP: erofs/007 SKIP: erofs/008 SKIP: erofs/009 SKIP: erofs/010 SKIP: erofs/011 PASS: erofs/012 PASS: erofs/013 PASS: erofs/014 PASS: erofs/015 PASS: erofs/016 SKIP: erofs/017 SKIP: erofs/018 PASS: erofs/019 PASS: erofs/020 PASS: erofs/021 FAIL: erofs/022 PASS: erofs/023 ============================================= 1 of 16 tests failed # uname -r 5.10.134-16_rc1.an8.x86_64
先作为known issue关闭