Expand description
EROFS (Enhanced Read-Only File System) module for Starnix.
Supports two mounting modes:
- In-process driver-mapped mode: When the backing file supports
FileOps::get_file_token(e.g., an EROFS image stored in an Fxblob package blob, mounted directly or via a loop device /dm-verity) andfuchsia.storage.mapping.FileMapperis available, Starnix parses EROFS metadata in-process usingerofs::ErofsFilesystemand creates pager-backed file VMOs through a childMapperSession(erofs::VolumeMapper). This avoids per-operation FIDL round-trips to an external filesystem component while keepingzx::Pagerout ofstarnix_kernelso container suspend cannot freeze pager threads and deadlock. - Out-of-process component fallback: When
FileMapperis unavailable, the source file does not provide a page-alignedFileToken, orFileMapper.OpenSessionfails, Starnix falls back to the out-of-processfuchsia.erofs.Erofscomponent (Erofs.Serve) and mounts the served directory channel viaRemoteFs.
Functionsยง
- new_fs
- Mounts an EROFS filesystem from
options.source(with optional page-alignedfsoffsetmount parameter), using in-process driver mapping viafuchsia.storage.mapping.FileMapperwhen available and falling back to the out-of-processfuchsia.erofs.Erofscomponent otherwise.