5.19内核读取nfs挂载目录报错Input/output error. 5.14及以下没有问题

在 Windows 10 上使用 WinNFSd.exe 工具作为服务器,共享目录,并在客户端使用 Debian 11(内核版本5.19)使用 NFSv3 协议进行挂载时,我遇到了一个问题。挂载过程完成时没有任何错误,并且可以成功使用 “ls” 或 “ls -l” 访问目录信息。然而,当我尝试使用 “cat” 访问目录内容时,报错 “input/output error”。

当我在客户端上使用 touch 创建的新文件的内容可以使用 cat 读取。然而,如果文件在服务器端创建,客户端可以看到新创建的文件并使用 ls 获取文件信息,但是在尝试使用 cat 读取其内容时会遇到"输入/输出错误"。这是令我困惑的部分,似乎与访问控制有关?

此外,在一定的时间段后,尝试访问已挂载目录时,终端界面会变得无响应。我不确定导致这个问题的确切原因,因为时间似乎是随机的。有时,需要几分钟才会出现无响应的情况,有时可以半个小时任何问题。

有趣的是,将内核版本降级到 5.14 或更低版本可以解决这个问题。实际上,在相同的网络环境、挂载目录和挂载参数下,我测试了内核版本 6.1、5.18、5.15、5.14、5.10 和 4.19。在这些版本中,只有前三个版本出现了这个问题,而较低的后三个版本能够正常地读取 NFS 共享目录中的文件内容。

---------------------------这是出现问题的测试环境的具体信息:------------------------
Server:
–操作系统: Windows 10
–NFS Server Tool: WinNFSd.exe 2.4.0

Client:
–操作系统:
Debian 11.0
–内核版本:
Linux gpc 5.19.0-0.deb11.2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.19.11-1~bpo11+1 (2022-10-03) x86_64 GNU/Linux

NFS协议
–NFS Version: NFSv3
nfs-common/oldstable,now 1:1.3.4-6 amd64 [installed]
rpcbind/oldstable,now 1.2.5-9 amd64 [installed,automatic]

挂载命令
root@gpc:mount -t nfs 192.168.0.21:/F/Kernel5.19/NFS /mnt/img -o noatime,nfsvers=3

现象
root@gpc:/mnt/img# ls -l
total 4
drwxrwxrwx 1 root root 4096 Jul 28 2023 GPCImageV4.0

root@gpc:/mnt/img/GPCImageV4.0# ls -l
total 2400393
-rwxrwxrwx 1 root root 1529 Jul 26 18:54 blkdev.list
-rwxrwxrwx 1 root root 1424 Jul 26 18:54 blkid.list
-rwxrwxrwx 1 root root 13562 Jul 26 18:54 clonezilla-img
-rwxrwxrwx 1 root root 300 Jul 26 18:54 dev-fs.list
-rwxrwxrwx 1 root root 4 Jul 26 18:54 disk
-rwxrwxrwx 1 root root 1207 Jul 26 18:54 efi-nvram.dat
-rwxrwxrwx 1 root root 201 Nov 2 2022 GantryConfiguration.xml
-rwxrwxrwx 1 root root 22373 Jul 26 18:54 Info-dmi.txt
-rwxrwxrwx 1 root root 236 Jul 26 18:54 Info-img-id.txt
-rwxrwxrwx 1 root root 61 Jul 26 18:54 Info-img-size.txt
-rwxrwxrwx 1 root root 27602 Jul 26 18:54 Info-lshw.txt
-rwxrwxrwx 1 root root 1592 Jul 26 18:54 Info-lspci.txt
-rwxrwxrwx 1 root root 1539 Jul 26 18:54 Info-OS-prober.txt
-rwxrwxrwx 1 root root 200 Jul 26 18:54 Info-packages.txt
-rwxrwxrwx 1 root root 96 Jul 26 18:54 Info-saved-by-cmd.txt
-rwxrwxrwx 1 root root 4724 Jul 26 18:54 Info-smart.txt
-rwxrwxrwx 1 root root 35 Jul 26 18:54 parts
-rwxrwxrwx 1 root root 2158265 Jul 26 18:54 sda1.vfat-ptcl-img.gz
-rwxrwxrwx 1 root root 2210653199 Jul 26 18:54 sda2.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 225310835 Jul 26 18:53 sda3.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 4227536 Jul 26 18:52 sda4.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 7246389 Jul 26 18:52 sda5.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 2314988 Jul 26 18:52 sda6.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 5948542 Jul 26 18:52 sda7.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 37 Jul 26 18:54 sda-chs.sf
-rwxrwxrwx 1 root root 17408 Jul 26 18:54 sda-gpt-1st
-rwxrwxrwx 1 root root 16384 Jul 26 18:54 sda-gpt-2nd
-rwxrwxrwx 1 root root 17920 Jul 26 18:54 sda-gpt.gdisk
-rwxrwxrwx 1 root root 967 Jul 26 18:54 sda-gpt.sgdisk
-rwxrwxrwx 1 root root 512 Jul 26 18:54 sda-mbr
-rwxrwxrwx 1 root root 644 Jul 26 18:54 sda-pt.parted
-rwxrwxrwx 1 root root 540 Jul 26 18:54 sda-pt.parted.compact
-rwxrwxrwx 1 root root 1229 Jul 26 18:54 sda-pt.sf
-rwxrwxrwx 1 root root 53 Jul 26 18:52 swappt-sda8.info

root@gpc:/mnt/img/GPCImageV4.0# cat parts
cat: parts: Input/output error

root@gpc:/mnt/img/GPCImageV4.0# cat disk
cat: disk: Input/output error

---------------------------这是正常读取的测试环境的具体信息------------------------
Server:
–操作系统: Windows 10
–NFS Server Tool: WinNFSd.exe 2.4.0

Client:
–操作系统:
Debian 9.1
–内核版本:
Linux gpc 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux

NFS协议
–NFS Version: NFSv3
nfs-common/now 1:1.3.4-2.1ubuntu5.5 amd64 [installed,local]
rpcbind/now 0.2.3-0.6ubuntu0.18.04.4 amd64 [installed,local]

挂载命令
root@gpc:mount -t nfs 192.168.0.21:/F/Kernel5.19/NFS /mnt/img -o noatime,nfsvers=3

现象
root@gpc:/mnt/img# ls -l
total 4
drwxrwxrwx 1 root root 4096 Jul 28 2023 GPCImageV4.0

root@gpc:/mnt/img/GPCImageV4.0# ls -l
total 2400393
-rwxrwxrwx 1 root root 1529 Jul 26 2023 blkdev.list
-rwxrwxrwx 1 root root 1424 Jul 26 2023 blkid.list
-rwxrwxrwx 1 root root 13562 Jul 26 2023 clonezilla-img
-rwxrwxrwx 1 root root 300 Jul 26 2023 dev-fs.list
-rwxrwxrwx 1 root root 4 Jul 26 2023 disk
-rwxrwxrwx 1 root root 1207 Jul 26 2023 efi-nvram.dat
-rwxrwxrwx 1 root root 201 Nov 2 2022 GantryConfiguration.xml
-rwxrwxrwx 1 root root 22373 Jul 26 2023 Info-dmi.txt
-rwxrwxrwx 1 root root 236 Jul 26 2023 Info-img-id.txt
-rwxrwxrwx 1 root root 61 Jul 26 2023 Info-img-size.txt
-rwxrwxrwx 1 root root 27602 Jul 26 2023 Info-lshw.txt
-rwxrwxrwx 1 root root 1592 Jul 26 2023 Info-lspci.txt
-rwxrwxrwx 1 root root 1539 Jul 26 2023 Info-OS-prober.txt
-rwxrwxrwx 1 root root 200 Jul 26 2023 Info-packages.txt
-rwxrwxrwx 1 root root 96 Jul 26 2023 Info-saved-by-cmd.txt
-rwxrwxrwx 1 root root 4724 Jul 26 2023 Info-smart.txt
-rwxrwxrwx 1 root root 35 Jul 26 2023 parts
-rwxrwxrwx 1 root root 2158265 Jul 26 2023 sda1.vfat-ptcl-img.gz
-rwxrwxrwx 1 root root 2210653199 Jul 26 2023 sda2.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 225310835 Jul 26 2023 sda3.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 4227536 Jul 26 2023 sda4.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 7246389 Jul 26 2023 sda5.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 2314988 Jul 26 2023 sda6.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 5948542 Jul 26 2023 sda7.ext4-ptcl-img.gz
-rwxrwxrwx 1 root root 37 Jul 26 2023 sda-chs.sf
-rwxrwxrwx 1 root root 17408 Jul 26 2023 sda-gpt-1st
-rwxrwxrwx 1 root root 16384 Jul 26 2023 sda-gpt-2nd
-rwxrwxrwx 1 root root 17920 Jul 26 2023 sda-gpt.gdisk
-rwxrwxrwx 1 root root 967 Jul 26 2023 sda-gpt.sgdisk
-rwxrwxrwx 1 root root 512 Jul 26 2023 sda-mbr
-rwxrwxrwx 1 root root 644 Jul 26 2023 sda-pt.parted
-rwxrwxrwx 1 root root 540 Jul 26 2023 sda-pt.parted.compact
-rwxrwxrwx 1 root root 1229 Jul 26 2023 sda-pt.sf
-rwxrwxrwx 1 root root 53 Jul 26 2023 swappt-sda8.info

root@gpc:/mnt/img/GPCImageV4.0# cat parts
sda1 sda2 sda3 sda4 sda5 sda6 sda7

root@gpc:/mnt/img/GPCImageV4.0# cat disk
sda