Linux (RHEL 7.5) 上的 ZFS ls: 正在读取目录 .: 不是目录

Linux (RHEL 7.5) 上的 ZFS ls: 正在读取目录 .: 不是目录

我们有一个在 Linux 0.7.8 和 RHEL 7.5 上运行 ZFS 的 Linux 服务器。 /home 文件系统是 ZFS。它工作正常,直到用户报告文件系统无法访问。

Zpool显示状态是健康的。擦洗没有发现任何错误。文件系统挂载和卸载没有错误。使用的%磁盘看起来不错。但是你无法让任何 ls 工作,例如, cd /home 然后 ls 显示此错误:

ls: reading directory .: Not a directory

有没有人见过这种情况并知道如何处理?您还想查看哪些信息?谢谢!

$ zpool list home  
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT  
home   928G  80.2G   848G         -     1%     8%  1.00x  ONLINE  -

答案1

这是由于 Red Hat 在 7.5 内核 (v3.10.0-862) 中进行了向后移植的更改。ls进行getdents()系统调用,现在 iterate_dir()代替readdir().

恢复到内核 v3.10.0-693.21.1 应该可以解决该问题。

答案2

zfs 0.7.9 现已在修复该问题的存储库中提供。

答案3

我没有恢复到最新的 z-stream 内核 7.4,而是使用 ZoL 开发人员提供的修复该问题的补丁重建了可用的最新软件包 (0.7.8)。我已经在这里上传了我的所有 rpm: https://step.polymtl.ca/~coyote/dist/zfs/0.7.8-1.2

相关内容