![22.04 LTS 上的 CIFS - 内核 5.15.0-101-generic 和 5.15.0-102-generic 之间有什么变化吗?](https://linux22.com/image/1201086/22.04%20LTS%20%E4%B8%8A%E7%9A%84%20CIFS%20-%20%E5%86%85%E6%A0%B8%205.15.0-101-generic%20%E5%92%8C%205.15.0-102-generic%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8F%98%E5%8C%96%E5%90%97%EF%BC%9F.png)
我有一个 Ubuntu 22.04 客户端通过 CIFS 连接到 Ubuntu 22.04 服务器。
挂载是通过类似于以下内容的 fstab 条目完成的:
//machine.fqdn/sharename /mnt/some.directory cifs rw,credentials=/root/some.file,uid=1000,gid=1000,file_mode=0777,dir_mode=0777
我刚刚将两个系统从 5.15.0-101-generic 内核更新到了 5.15.0-102-generic 。客户似乎破坏了自动挂载。df 返回的不是预期的信息,而是:
df: /mnt/some.directory: Resource temporarily unavailable
而不是预期的:
//machine.fqdn/sharename 61608748 16429164 45179584 27% /mnt/some.directory
如果我重新启动客户端,关闭之前的 5.15.0-101-generic 内核,一切就都好了。
这似乎与描述的问题类似https://www.reddit.com/r/Ubuntu/comments/1bzshdt/ubuntu_2204_smb_shares_stopped_working_lastnight/?rdt=37907,尽管目前还没有解决方案。在有问题的内核的情况下,尝试访问共享“有点不可靠” - 通过 smbclient 访问大部分情况下都正常,但通过 fstab 条目挂载则不行。在有问题的内核、/etc/fstab 条目就位且磁盘未挂载的情况下,“mount /mnt/some.directory”不会返回任何错误。
这是某种已知问题,还是内核 5.15.0-102-generic 中记录的更改(可能是挂载参数)?
编辑:好像有人在https://bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/2060797.另请参阅https://forums.linuxmint.com/viewtopic.php?t=417371。
答案1
几天以来我遇到了同样的问题。我的 smb 共享访问变得非常慢,我试图找出导致这些问题的原因。我看到 CIFS 模块有很多 smb 请求问题(见下文)。我认为内核版本 5.15 中的 CIFS 模块造成了这个问题。版本 5.11 对我来说很好用!
不幸的是,我目前唯一的解决方案是切换回旧内核版本!
[31940.114972] CIFS: fs/cifs/readdir.c: fce error -2
[31940.624368] CIFS: fs/cifs/connect.c: Received no data or error: -104
[31940.624432] CIFS: fs/cifs/readdir.c: fce error -2
[31941.124821] CIFS: fs/cifs/connect.c: Received no data or error: 0
[31941.634623] CIFS: fs/cifs/connect.c: Received no data or error: -104
[31942.095318] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0x80000006 to POSIX err -61
[31942.113932] CIFS: fs/cifs/connect.c: Received no data or error: 0
[31942.136770] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0xc0000016 to POSIX err -5
[31942.595203] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0x80000006 to POSIX err -61
[31942.635067] CIFS: fs/cifs/connect.c: Received no data or error: -104
[31942.654499] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0xc0000016 to POSIX err -5
[31943.100779] CIFS: fs/cifs/connect.c: Received no data or error: -104
[31943.121753] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0xc0000016 to POSIX err -5
[31943.586668] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0x80000006 to POSIX err -61
[31943.597555] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0x80000006 to POSIX err -61
[31943.602327] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0x80000006 to POSIX err -61
[31943.607955] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0x80000006 to POSIX err -61
[31943.608239] CIFS: fs/cifs/smb2maperror.c: Mapping SMB2 status code 0xc0000128 to POSIX err -9
答案2
为了完整性,发布了 105 内核并解决了这些问题。