Mutation

Type Alias Mutation 

Source
pub type Mutation = MutationV50;
Expand description

The journal consists of these records which will be replayed at mount time. Within a transaction, these are stored as a set which allows some mutations to be deduplicated and found (and we require custom comparison functions below). For example, we need to be able to find object size changes.

Aliased Type§

pub enum Mutation {
    ObjectStore(ObjectStoreMutationV50),
    EncryptedObjectStore(Box<[u8]>),
    Allocator(AllocatorMutationV32),
    BeginFlush,
    EndFlush,
    DeleteVolume,
    UpdateBorrowed(u64),
    UpdateMutationsKey(UpdateMutationsKeyV49),
    CreateInternalDir(u64),
}

Variants§

§

ObjectStore(ObjectStoreMutationV50)

§

EncryptedObjectStore(Box<[u8]>)

§

Allocator(AllocatorMutationV32)

§

BeginFlush

§

EndFlush

§

DeleteVolume

§

UpdateBorrowed(u64)

§

UpdateMutationsKey(UpdateMutationsKeyV49)

§

CreateInternalDir(u64)

Implementations§

Source§

impl Mutation

Source

pub fn insert_object(key: ObjectKey, value: ObjectValue) -> Self

Source

pub fn replace_or_insert_object(key: ObjectKey, value: ObjectValue) -> Self

Source

pub fn merge_object(key: ObjectKey, value: ObjectValue) -> Self

Source

pub fn update_mutations_key(key: FxfsKey) -> Self