
ZeroFS 공식 블로그와 문서에 따르면 프로젝트는 리눅스 VFS와 netfslib에 직접 연결되는 네이티브 파일시스템 클라이언트를 공개했다. 커널 외부에서 빌드하는 모듈 형태로 제공되며, 구현 대부분은 Rust로 작성됐다. Rust 바인딩이 아직 제공하지 않는 netfslib 인라인 도우미를 연결하기 위해 250줄 미만의 C 코드가 남아 있다.
새 모듈은 zerofs 파일시스템을 VFS에 등록하고 TCP 또는 유닉스 소켓을 통해 ZeroFS 전용 9P2000.L.Z 프로토콜로 서버와 통신한다. 기존 `zerofs mount`가 `/dev/fuse`를 거쳐 사용자 공간 클라이언트로 요청을 전달하는 것과 달리, 네이티브 경로는 VFS와 원격 서버 사이에서 사용자 공간 왕복을 없앤 것이 핵심이다.
ZeroFS는 이 구조가 클라이언트 측 오버헤드를 낮춘다고 설명했다. 다만 실제 종단 성능 차이는 워크로드와 캐시 상태에 따라 달라진다고 선을 그었다. 회사가 이번 발표에서 정량 벤치마크를 제시하지 않은 만큼, FUSE 방식보다 항상 빠르다고 단정하기는 어렵다.
기능 범위는 일반적인 파일시스템 작업 대부분을 포함한다. 공식 문서에는 마운트와 조회, 파일·디렉터리 생성, 이름 변경과 삭제, 하드링크·심볼릭 링크, 버퍼드 입출력, writeback, 쓰기 가능한 mmap, direct I/O, `fallocate`, `SEEK_DATA`·`SEEK_HOLE`, POSIX 레코드 잠금, `flock`, `fsync`, 원격 `statfs` 지원이 명시돼 있다. 연결이 끊기면 기본 120초의 재연결 유예 시간 동안 세션 복구를 시도하고, 두 개의 리더·대기 엔드포인트 구성도 지원한다.
최소 지원 버전은 Linux 6.18이다. x86-64와 리틀엔디언 arm64가 대상이며, 일반 소스 빌드에는 커널의 Rust 지원과 해당 커널에 맞는 Rust 메타데이터, 컴파일러, bindgen이 필요하다. ZeroFS는 실행 커널에 Rust 지원이 없는 x86-64 환경을 위한 자체 포함형 사전 빌드 경로도 마련했지만, 이 방식은 정확히 일치하는 커널 소스와 빌드 설정이 필요하다.
배포판 패키지는 Ubuntu 26.04, Ubuntu 24.04 HWE, Debian 13 backports, Fedora 43·44, openSUSE Tumbleweed의 일부 아키텍처를 대상으로 제공된다. 각 패키지는 특정 커널 빌드에 맞춰 배포되며, ZeroFS는 게시 대상마다 실제 부팅과 마운트, 기본 입출력 시험을 수행한다고 밝혔다. 지원 범위 밖에서는 기존 FUSE 기반 `zerofs mount`나 표준 9P2000.L을 쓰는 Linux v9fs를 사용할 수 있다.
이번 공개는 Rust for Linux 생태계가 장치 드라이버를 넘어 네트워크 파일시스템 모듈까지 확장되는 사례다. 동시에 VFS와 소켓, 스레드처럼 아직 안전한 Rust 추상화가 충분하지 않은 영역에서는 원시 커널 바인딩과 제한된 C 접착 코드가 여전히 필요하다는 현실도 보여준다.
출처: ZeroFS 공식 블로그 https://www.zerofs.net/blog/linux-filesystem-module-in-rust/
ZeroFS 공식 문서 https://www.zerofs.net/docs/kernel-client
ZeroFS GitHub 소스 https://github.com/Barre/ZeroFS/tree/main/kernel
ZeroFS GitHub 커밋 https://github.com/Barre/ZeroFS/commit/11e8800617072671d2e1680e890493597ff236db








![[속보] CISA, LiteLLM·Check Point VPN 취약점 KEV 등재…활성 악용 확인](/_next/image?url=https%3A%2F%2Fdevfive-file.s3.ap-northeast-2.amazonaws.com%2Fdev-letter%2F20260608_201258_security-vulnerability-alert.jpg&w=3840&q=75)
