pub enum WalDelta {
CreateInode {
delta_index: u32,
inode_id: InodeId,
inode_kind: InodeKind,
},
BindDirentry {
delta_index: u32,
parent_inode_id: InodeId,
name_key: NameKey,
display_name: DisplayName,
child_inode_id: InodeId,
},
UnbindDirentry {
delta_index: u32,
parent_inode_id: InodeId,
name_key: NameKey,
display_name: DisplayName,
child_inode_id: InodeId,
bind_seq: ChangeSeq,
bind_delta_index: u32,
},
AppendFileRevision {
delta_index: u32,
inode_id: InodeId,
revision_no: RevisionNo,
content_ref: ContentRef,
},
TombstoneSubtree {
delta_index: u32,
root_inode_id: InodeId,
deleted_direntry: DeletedDirentry,
},
RevokeSubtreeTombstone {
delta_index: u32,
root_inode_id: InodeId,
target: TombstoneGeneration,
},
AppendAttributesRevision {
delta_index: u32,
inode_id: InodeId,
attributes_revision_no: AttributeRevisionNo,
attributes: Attributes,
},
AppendAccessRevision {
delta_index: u32,
inode_id: InodeId,
access_revision_no: AccessRevisionNo,
boundary: bool,
grants: AccessGrants,
},
}Expand description
Records one replayable metadata mutation materialized from a semantic commit operation.
Variants§
CreateInode
Introduces an inode whose identity and kind remain fixed for its lifetime.
Fields
BindDirentry
Makes a child reachable under one canonical name in a directory.
Fields
display_name: DisplayNameUser-facing spelling preserved independently of name_key.
UnbindDirentry
Removes one exact historical directory binding without affecting a later rebind.
Fields
display_name: DisplayNameUser-facing spelling the removed binding carried, so feed consumers see the name a person typed without a second lookup.
AppendFileRevision
Publishes the next immutable content revision of a file inode.
Fields
revision_no: RevisionNoMonotonic per-file revision number validated against visible history.
content_ref: ContentRefImmutable content that must already be durable before publication.
TombstoneSubtree
Hides a rooted subtree from snapshots at this delta’s sequence or later.
Fields
deleted_direntry: DeletedDirentryThe binding the delete removed, carried so the deleted name survives on the immortal tombstone row after unbind rows age out.
RevokeSubtreeTombstone
Revokes exactly one subtree tombstone — the one recorded at target
— making the subtree eligible for visibility again once re-bound. An
immutable compensating event, not an in-place row deletion: a later
TombstoneSubtree for the same root supersedes the revoke.
Fields
target: TombstoneGenerationThe exact tombstone generation this delta compensates.
AppendAttributesRevision
Publishes the next attribute revision of one inode, as complete state.
The delta carries the whole resulting map rather than the changes that produced it, so replay never needs an earlier revision to answer what an inode holds. An empty map is a real revision: it is the cleared state, and it hides every earlier map.
Fields
attributes_revision_no: AttributeRevisionNoMonotonic per-inode attribute revision, exactly one past the revision the update was validated against.
attributes: AttributesThe inode’s complete attribute map after this update.
AppendAccessRevision
Publishes the next access revision of one inode, as complete state.
Like an attribute revision, the delta carries the whole resulting state. A row with no boundary and no grants is a real revision: it is the cleared state, and it hides every earlier row.
Fields
access_revision_no: AccessRevisionNoMonotonic per-inode access revision, exactly one past the revision the update was validated against.
grants: AccessGrantsThe inode’s complete direct grants after this update.