pub struct ParityRow {
pub data_columns: Vec<ParityDataColumn>,
pub parity_targets: Vec<ParityTarget>,
}Expand description
One physical row of a RAID5/RAID6 chunk that the write touches.
data_columns lists the data column slots in the row (length
num_stripes - nparity). Every entry is a full stripe_len slot
on a device; the executor must preread the slot, optionally
overlay caller bytes, then both write the overlaid range back to
the device (if the overlay is non-empty) and use the assembled
slot for parity computation.
parity_targets are the parity column slots (1 entry for RAID5,
2 for RAID6). The executor writes the computed parity bytes to
each target’s physical offset.
Fields§
§data_columns: Vec<ParityDataColumn>One per data stripe of the row, in column order (data column 0
of the row first). Length equals num_stripes - nparity.
parity_targets: Vec<ParityTarget>Parity column outputs for the row (1 for RAID5, 2 for RAID6).
Trait Implementations§
impl Eq for ParityRow
impl StructuralPartialEq for ParityRow
Auto Trait Implementations§
impl Freeze for ParityRow
impl RefUnwindSafe for ParityRow
impl Send for ParityRow
impl Sync for ParityRow
impl Unpin for ParityRow
impl UnsafeUnpin for ParityRow
impl UnwindSafe for ParityRow
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