Hacker News 의견
  • libfuse GitHub에는 C/C++의 복잡성을 증가시키는 좋은 예제들이 있음

    • passthrough.c는 기존 파일 시스템을 미러링하지만 성능이 좋지 않음
    • passthrough_fh.c는 성능이 조금 더 나음
    • passthrough_ll.c는 저수준 API로 구현되어 세 가지 중 가장 나음
    • passthrough_hp.cc는 C++로 작성된 고성능 버전임
    • 흥미로운 FUSE 프로젝트로는 대용량 파일을 세그먼트로 나누기, ZFS 증분 스냅샷을 파일로 표시하기, 투명한 파일 시스템 압축 등이 있음
  • FUSE 외에도 9p 프로토콜을 통한 가상 파일 시스템 구현이 가능함

    • py9p를 사용한 Python 경험이 fuse-python보다 나았음
    • FUSE를 통해 9p 서비스를 마운트할 수 있으며, diod 9p 서버를 사용했음
    • 전체적으로 탐색하기 좋은 생태계임
  • FUSE를 사용하여 Jira를 파일 시스템으로 변환하는 프로젝트를 시작했음

    • 이슈 ID를 디렉토리 이름으로 사용하여 자동화가 쉬워졌지만, 사람이 탐색하기 어려웠음
    • issue-type-with-summary 디렉토리 유형을 추가하여 문제를 해결했음
  • FUSE에 관심 있는 사람들은 CUSE 프로젝트에도 관심을 가질 수 있음

    • CUSE는 사용자 공간에서 하드웨어를 에뮬레이션하는 프로젝트임
    • Python을 사용하여 IOCTL을 지원하는 하드웨어 장치를 작성했음
    • CUSE는 원래 사용자 공간 사운드 장치를 만들기 위해 구현되었음
  • 다양한 FUSE 마운트 옵션이 존재하며, JuiceFS는 객체 저장소를 POSIX 파일 시스템으로 마운트하는 데 흥미로움

  • 최근 NFS 기반 파일 시스템을 구현하는 사람들이 늘고 있음

    • Mac에서는 rclone이 이를 지원함
  • azuline/rosé는 가상 파일 시스템을 가진 음악 관리자로, 학습하기 좋은 코드베이스를 제공함

  • FUSE를 사용하여 Makefile이 임의의 리소스에 대해 DAG를 지정할 수 있게 함

    • 예를 들어, Kubernetes 클러스터 상태를 노출하는 FUSE 파일 시스템이 있음
  • Python FUSE 파일 시스템을 만들어 dokuwiki와 상호작용했음

    • easyfuse라는 래퍼를 만들어 dokuwiki와 관련 없는 저수준 API를 구현했음
  • FUSE를 사용하여 git 저장소를 노출하는 작은 프로젝트를 작성했음

    • .git 폴더를 통해 모든 커밋과 브랜치를 자체 폴더로 노출함
    • 모든 것이 읽기 전용임