Skip to main content

Crate lamlvm

Crate lamlvm 

Source
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§

metadata

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.
OwnedLvReader
Lifetime-free, owning LV reader.

Enums§

Error
Top-level error type for the lamlvm crate.
OpenLvError
Errors raised by OpenLV’s Read + Seek implementations.