Expand description
no_std read-only btrfs reader for UEFI bootloaders and embedded contexts.
Lambutter is the btrfs counterpart to ext4-view: a pure-Rust,
allocation-aware, read-only btrfs filesystem reader for contexts that cannot
link std. It opens regular files, symlinks, and directory listings on
SINGLE / DUP / RAID1 / RAID1C3 / RAID1C4 volumes and decodes zstd, zlib, and
LZO extents; unsupported profiles surface as typed errors.
See the README for scope, validation posture, and usage; CHANGELOG.md
for the version history.
Structs§
- Btrfs
- A mounted, read-only btrfs filesystem.
- DirEntry
- One directory entry, owned (its name is copied so the iterator doesn’t hold a borrow on the underlying tree block).
- Inode
- An inode within the active subvolume. Currently a thin newtype wrapping the inode objectid; future versions may carry cached metadata.
- Metadata
- Metadata accessor — analogous to
std::fs::Metadatafor callers. - Path
- A read-only path into the active subvolume. Paths are absolute
(must start with
/); leading/segments collapse, internal//collapses to/, and.components are skipped.
Enums§
- Error
- All error conditions the crate can surface to its caller.
- Slice
Read Error - Error variants for the
&[u8]adapter. Test/diagnostic only. - Superblock
Reason - Why the superblock was rejected. Present as a sub-enum so callers that
only care about the boundary can match on
Error::BadSuperblock(_)without enumerating the inner variants.
Traits§
- Block
Read - A read-only block-level reader.
Type Aliases§
- Result
- Crate-wide result alias.