pub enum FsckRule {
Show 26 variants
MalformedNode,
NonCanonicalNodeEncoding,
TrailingBytes,
LeafEntriesOutOfOrder,
DuplicateObjectKey,
EmptyBranchBitmap,
NodeDigestMismatch,
SubtreeSummaryMismatch,
ObjectSizeMismatch,
ExtentDigestMismatch,
DanglingNodeRef,
DanglingObjectRef,
ExtentObjectNotInManifest,
UnreachableNode,
LeafOverfull,
UnderfullBranch,
EmptyNonRootLeaf,
BranchDepthMismatch,
MisroutedEntry,
NonCanonicalTrieShape,
DepthExceeded,
ExtentsOutOfOffsetOrder,
ExtentOverlap,
ExtentGap,
RangeCoverageMismatch,
ZeroLengthExtent,
}Expand description
The named integrity rules fsck enforces.
Variants§
MalformedNode
Node bytes failed to decode at all (bad magic, unknown version or tag, unknown object kind, truncation).
NonCanonicalNodeEncoding
Node bytes decoded but are not their own canonical spelling.
TrailingBytes
Node bytes carry data past the declared content.
LeafEntriesOutOfOrder
Leaf entries are not strictly ascending by (kind, hash).
DuplicateObjectKey
A leaf names one object key twice.
EmptyBranchBitmap
A branch declares an empty bitmap; the canonical empty set is a leaf.
NodeDigestMismatch
Node bytes do not hash to the address they were fetched by.
SubtreeSummaryMismatch
A branch’s (object_count, decoded_bytes) summary disagrees with its
actual subtree.
ObjectSizeMismatch
A leaf’s declared decoded_size disagrees with the object index.
ExtentDigestMismatch
An encoded pack record does not hash to its declared digest.
DanglingNodeRef
A branch names a child that is absent from the node source.
DanglingObjectRef
A leaf names an object that is absent from the object index.
ExtentObjectNotInManifest
A pack claim authorizes bytes for an object the manifest does not cover.
UnreachableNode
A node is present in the store but unreachable from the root.
LeafOverfull
A leaf holds more than the bound while routing bits remain to split on.
UnderfullBranch
A branch’s whole subtree would fit in one leaf; it must not exist.
EmptyNonRootLeaf
A non-root leaf holds no entries.
BranchDepthMismatch
A branch’s declared depth disagrees with its position in the trie.
MisroutedEntry
An entry sits at a position its route does not lead to.
NonCanonicalTrieShape
Rebuilding the trie from the expanded object set yields a different root. The backstop for any structural deviation the local rules miss.
DepthExceeded
Traversal exceeded the fixed route depth.
ExtentsOutOfOffsetOrder
Pack records are not strictly ascending by offset.
ExtentOverlap
Two pack records claim overlapping bytes.
ExtentGap
Consecutive pack records leave an unclaimed byte gap.
RangeCoverageMismatch
The record partition does not cover [start, end) exactly.
ZeroLengthExtent
A pack record claims zero bytes.