pub struct DeepInsertPlan {
pub new_root: Vec<u8>,
pub block_writes: Vec<(u64, Vec<u8>)>,
pub allocated_blocks: Vec<u64>,
}Expand description
Result of a deep insert. The caller stages each component into its transaction (inode-i_block patch + per-block writes + bitmap/BGD updates for the freshly-allocated blocks).
Fields§
§new_root: Vec<u8>New 60 bytes of i_block. Depth may have changed (root promotion).
block_writes: Vec<(u64, Vec<u8>)>Block writes, one per modified-or-new block. Each entry is
(block_num, full block_size bytes). Non-root blocks have their last
4 bytes zeroed and reserved — the caller patches et_checksum via
crate::checksum::Checksummer::patch_extent_tail.
allocated_blocks: Vec<u64>Block numbers freshly pulled from the allocator closure, in the order they were drawn. The caller marks each used in the bitmap and bumps BGD/SB counters in the same transaction.
Trait Implementations§
Source§impl Clone for DeepInsertPlan
impl Clone for DeepInsertPlan
Source§impl Debug for DeepInsertPlan
impl Debug for DeepInsertPlan
impl Eq for DeepInsertPlan
Source§impl PartialEq for DeepInsertPlan
impl PartialEq for DeepInsertPlan
impl StructuralPartialEq for DeepInsertPlan
Auto Trait Implementations§
impl Freeze for DeepInsertPlan
impl RefUnwindSafe for DeepInsertPlan
impl Send for DeepInsertPlan
impl Sync for DeepInsertPlan
impl Unpin for DeepInsertPlan
impl UnsafeUnpin for DeepInsertPlan
impl UnwindSafe for DeepInsertPlan
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