1

We have a Linux server that is running ZFS on Linux 0.7.8 and RHEL 7.5. The /home filesystem is ZFS. It was working fine until users reported that the filesystem was not accessible.

Zpool show the state is healthy. A scrub did not reveal any errors. The filesystem mounts and unmounts without errors. The % disk used looks fine. But you cannot get any ls to work, for example, cd /home then ls shows this error:

ls: reading directory .: Not a directory

Has anyone seen this before and know how to deal with it? What other information would you like to see? Thanks!

$ zpool list home  
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT  
home   928G  80.2G   848G         -     1%     8%  1.00x  ONLINE  -
  • Also, I checked to see which modules were loaded: zfs 3559329 0 zunicode 331170 1 zfs zavl 15236 1 zfs icp 270187 1 zfs zcommon 73440 1 zfs znvpair 89131 2 zfs,zcommon spl 102412 4 icp,zfs,zcommon,znvpair – Zane Cooper Apr 16 '18 at 17:40
  • Does dmesg say anything helpful? – Emmanuel Rosa Apr 16 '18 at 23:21
  • And this question got downovted because... Can the troll please come back and complete the sentence? – ajeh May 14 '18 at 15:17
1

This is due to backported changes Red Hat made in the 7.5 kernel (v3.10.0-862). ls makes the getdents() system call, which now does iterate_dir() instead of readdir().

Reverting to kernel v3.10.0-693.21.1 should fix the problem.

0

zfs 0.7.9 is now available in the repos which fix the issue.

0

Rather than reverting to the latest z-stream kernel of 7.4, I rebuilt the latest packages available (0.7.8) with the patch from the ZoL developers that fixes the issue. I've uploaded all of my rpms here: https://step.polymtl.ca/~coyote/dist/zfs/0.7.8-1.2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.