pub enum FaultClass {
TornWrite,
MisdirectedWrite,
BitRot,
LostWrite,
}Expand description
The four modeled storage fault classes (ADR 0074 §1). Crash-at-any-point is
modeled separately by the existing buggify! crash boundaries.
Variants§
TornWrite
A write persists only a prefix of its buffer, cut at a sector boundary.
MisdirectedWrite
A write persists the correct bytes at a wrong offset, reporting success.
BitRot
Stored bytes acquire a flipped bit between the write and a later read.
LostWrite
The write (or its fsync effect) is dropped entirely; success is reported.
Implementations§
Source§impl FaultClass
impl FaultClass
Trait Implementations§
Source§impl Clone for FaultClass
impl Clone for FaultClass
Source§fn clone(&self) -> FaultClass
fn clone(&self) -> FaultClass
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for FaultClass
Source§impl Debug for FaultClass
impl Debug for FaultClass
Source§impl Display for FaultClass
impl Display for FaultClass
impl Eq for FaultClass
Source§impl Hash for FaultClass
impl Hash for FaultClass
Source§impl Ord for FaultClass
impl Ord for FaultClass
Source§fn cmp(&self, other: &FaultClass) -> Ordering
fn cmp(&self, other: &FaultClass) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for FaultClass
impl PartialEq for FaultClass
Source§impl PartialOrd for FaultClass
impl PartialOrd for FaultClass
impl StructuralPartialEq for FaultClass
Auto Trait Implementations§
impl Freeze for FaultClass
impl RefUnwindSafe for FaultClass
impl Send for FaultClass
impl Sync for FaultClass
impl Unpin for FaultClass
impl UnsafeUnpin for FaultClass
impl UnwindSafe for FaultClass
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more