Linux(RHEL 7.5)의 ZFS ls: 디렉토리를 읽는 중:은 디렉토리가 아닙니다.

Linux(RHEL 7.5)의 ZFS ls: 디렉토리를 읽는 중:은 디렉토리가 아닙니다.

Linux 0.7.8 및 RHEL 7.5에서 ZFS를 실행하는 Linux 서버가 있습니다. /home 파일 시스템은 ZFS입니다. 사용자가 파일 시스템에 액세스할 수 없다고 보고할 때까지는 제대로 작동합니다.

Zpool은 상태가 정상임을 보여줍니다. 스크러빙 결과 오류가 발견되지 않았습니다. 파일 시스템이 오류 없이 마운트 및 마운트 해제됩니다. 사용된 %disk는 괜찮아 보입니다. 그러나 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

관련 정보