Bug 19510 - [ANCK6.6.71-3.64k rc2][aarch64][倚天710机器][erofs-utils]fscache/010测试用例失败,lseek函数调用SEEK_HOLE的返回值不符合预期
Summary: [ANCK6.6.71-3.64k rc2][aarch64][倚天710机器][erofs-utils]fscache/010测试用例失败,lseek函...
Status: NEW
Alias: None
Product: Antest
Classification: Infrastructures
Component: 测试用例 (show other bugs) 测试用例
Version: unspecified
Hardware: aarch64 Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: lv0322
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-14 18:15 UTC by zhixin01
Modified: 2025-03-17 19:42 UTC (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zhixin01 alibaba_cloud_group 2025-03-14 18:15:53 UTC
[缺陷描述]:
fscache/010测试用例失败,lseek函数调用SEEK_HOLE的返回值不符合预期

在6.6.71-3_rc2.al8.aarch64内核上,未增加"transparent_hugepage_tmpfs=always thp_shmem=64K:always thp_anon=64K:always thp_file=8K-2M:always thp_file=2M:always+exec"内核参数上,用例是执行成功的

测试日志:
#cat fscache/010.out
QA output created by 010
llseek: SEEK_DATA 0, SEEK_HOLE 4096   ------》lseek函数调用SEEK_HOLE预期返回值
Silence is golden

#cat fscache/010.out.bad
QA output created by 010
llseek: SEEK_DATA 0, SEEK_HOLE 65536 --->-lseek函数调用SEEK_HOLE系统实际返回值
Silence is golden

[重现概率]:
必现

[重现环境]:
环境信息:倚天710机器
100.82.243.208

#uname -r
6.6.71-3.64k_rc2.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/"

#lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              128
On-line CPU(s) list: 0-127
Thread(s) per core:  1
Core(s) per socket:  128
Socket(s):           1
NUMA node(s):        2
Vendor ID:           ARM
BIOS Vendor ID:      T-HEAD
Model:               0
Model name:          Neoverse-N2
BIOS Model name:     Yitian710-128
Stepping:            r0p0
CPU MHz:             2750.000
BogoMIPS:            100.00
Hypervisor vendor:   Alibaba
Virtualization type: full
L1d cache:           64K
L1i cache:           64K
L2 cache:            1024K
L3 cache:            65536K
NUMA node0 CPU(s):   0-63
NUMA node1 CPU(s):   64-127
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh

#free -h
              total        used        free      shared  buff/cache   available
Mem:          127Gi        17Gi        81Gi       3.3Gi        28Gi        86Gi
Swap:            0B          0B          0B

#cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/boot/vmlinuz-6.6.71-3.64k_rc2.al8.aarch64 root=UUID=7b354d7d-d8b2-4768-b838-731ccf1256f3 ro console=tty0 biosdevname=0 console=ttyS0,115200 rd.driver.pre=ahci cgroup.memory=nokmem crashkernel=0M-2G:0M,2G-64G:256M,64G-:384M iommu.passthrough=1 iommu.strict=0 nospectre_bhb ssbd=force-off transparent_hugepage_tmpfs=always thp_shmem=64K:always thp_anon=64K:always thp_file=8K-2M:always thp_file=2M:always+exec

#gcc --version
gcc (GCC) 12.3.0 20230508 (Red Hat 12.3.0-1)
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[重现步骤]:
git clone https://gitlab.alibaba-inc.com/xize.gx/erofs-utils-tests.git  --branch 5.10
cd erofs-utils-tests
./autogen.sh
./configure
yum install -y erofs-utils
make check

[期望结果]:
用例执行pass

[实际结果]:
用例执行fail

[分析]
对应的tests/src/fscache010.c失败函数如下:
static void local_check_llseek(void)
{
    int off1, off2;

    off1 = lseek(__fd, 0, SEEK_DATA);
    off2 = lseek(__fd, 0, SEEK_HOLE);
    printf("llseek: SEEK_DATA %d, SEEK_HOLE %d\n", off1, off2);
    fflush(stdout);
}
Comment 1 lv0322 alibaba_cloud_group 2025-03-17 19:42:54 UTC
已知问题,重现步骤中./configure的输出可以看到“checking whether llseek is declared... no”,内核并不支持llseek,作为konwn issue