erofs-rs
A pure Rust library for reading and building EROFS (Enhanced Read-Only File System) images.
Note: This library aims to provide essential parsing and building capabilities for common use cases, not a full reimplementation of erofs-utils.
Features
- Zero-copy parsing via mmap
- Directory traversal and file reading
- Multiple data layouts: flat plain, flat inline, chunk-based
Usage
use File;
use Read;
use Mmap;
use EroFS;
CLI
# Dump superblock info
# List directory
# Read file content
# Convert to tar
Status
Implemented
- Superblock / inode / dirent parsing
- Flat plain layout
- Flat inline layout
- Chunk-based layout (without chunk indexes)
- Directory walk (
walk_dir) - Convert to tar archive
TODO
- Extended attributes
- Compressed data (lz4, lzma, deflate)
- Image building (
mkfs.erofsequivalent)
License
MIT OR Apache-2.0