Skip to main content

Mutation

Type Alias Mutation 

Source
pub type Mutation = MutationV56;
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(ObjectStoreMutationV56),
    EncryptedObjectStore(Box<[u8]>),
    Allocator(AllocatorMutationV32),
    BeginFlush,
    EndFlush,
    DeleteVolume,
    UpdateBorrowed(u64),
    UpdateMutationsKey(UpdateMutationsKeyV49),
    CreateInternalDir(u64),
}

Variants§

§

ObjectStore(ObjectStoreMutationV56)

§

EncryptedObjectStore(Box<[u8]>)

§

Allocator(AllocatorMutationV32)

§

BeginFlush

Indicates the beginning of a flush. This would typically involve sealing a tree.

§

EndFlush

Indicates the end of a flush. This would typically involve replacing the immutable layers with compacted ones.

§

DeleteVolume

Volume has been deleted. Requires we remove it from the set of managed ObjectStore.

§

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