Expand description
lamlvm — Read-only LVM2 Logical Volume reader for no_std environments.
Vendored + modernized fork of main--/rust-lvm2
v0.0.3 (MIT). See PROVENANCE.md for the origin story and the list of
changes from upstream. Notable change: acid_io (unmaintained since
2022) replaced with embedded-io (actively maintained by the
embedded-rust working group).
Format reference: https://github.com/libyal/libvslvm/blob/main/documentation/Logical%20Volume%20Manager%20(LVM)%20format.asciidoc
Vocabulary: in this crate we use the term “sheet” to describe a block of exactly 512 bytes (to avoid confusion around the word “sector”).
§Coverage
Linear logical volumes on a single physical volume only. Striped,
mirrored, thin pool, snapshot, and cache LVs return OpenLvError::Unsupported
or analogous errors. This covers the canonical layout used by Proxmox VE
and most default single-disk LVM installs. See PROVENANCE.md for the
full coverage matrix and the rationale for the narrow scope.
Modules§
Structs§
- LV
- A logical volume descriptor, borrowed from a parsed
Lvm2. - Lvm2
- A parsed LVM2 Physical Volume — Volume Group metadata loaded, ready to open Logical Volumes.
- OpenLV
- An open, byte-addressable view of a Logical Volume.
- Owned
LvReader - Lifetime-free, owning LV reader.
Enums§
- Error
- Top-level error type for the lamlvm crate.
- Open
LvError - Errors raised by
OpenLV’sRead + Seekimplementations.