#[non_exhaustive]pub enum AnomalyKind {
UberblockChecksumMismatch {
txg: u64,
slot: usize,
},
LabelDivergence {
field: &'static str,
label: usize,
reason: String,
},
BlkptrChecksumMismatch {
dva_offset: u64,
object_type: u8,
},
ImpossibleGeometry {
field: &'static str,
value: u64,
limit: u64,
},
}Expand description
Classification of a ZFS structural-integrity anomaly (F-INTEGRITY). Each variant carries the evidence needed to reproduce the observation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UberblockChecksumMismatch
The active uberblock’s ub_rootbp checksum does not verify against the
MOS objset block it points at — the top-of-tree Merkle check failing,
consistent with corruption or post-write tampering of the pool root.
Fields
LabelDivergence
The vdev labels disagree on a pool-identity/geometry field
(pool_guid/txg/ashift) — consistent with a torn or tampered label.
A label whose config region cannot be parsed at all is reported here too.
Fields
BlkptrChecksumMismatch
A reachable metadata block (from the active uberblock’s MOS/objset tree) whose blkptr checksum does not verify — a dead / corrupt / tampered block.
Fields
ImpossibleGeometry
A size/count/offset field beyond what the image can hold — an allocation-bomb / corruption guard.
Implementations§
Trait Implementations§
Source§impl Clone for AnomalyKind
impl Clone for AnomalyKind
Source§fn clone(&self) -> AnomalyKind
fn clone(&self) -> AnomalyKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more