Expand description
Simple Rust File System (core library)
A simple filesystem impremented in Rust [no_std].
This crate is a work-in-progress. It contains low-level code to work directly with block devices (see trait SyncBlockDevice).
Higher-level API, dependent on [std], lives in crate srfs.
All basic filesystem features are implemented (see struct SyncFileSystem
),
with provisions for extensions.
At the moment only synchronous interface is provided. See src/tests.rs for usage examples.
TODO:
- crash recovery
- timestamps
- async API
Contributions are welcome.
Structs§
Enums§
Constants§
- BLOCK_
SIZE - MAX_
DIR_ ENTRIES - MAX_
FILE_ SIZE - PARTITION_
ID - See https://en.wikipedia.org/wiki/Partition_type. We use an arbitrary unused number here.
- ROOT_
DIR_ ID
Traits§
- Sync
Block Device - Synchronous Block Device.
Functions§
- format
- Initializes the block device so that it has an SFFS with a single/empty root dir.