Skip to main content

Module model

Module model 

Source

Structs§

DirectoryEntry
A single entry in a directory.
DirectoryPage
A single page of directory entries. V1 uses one page per directory.
EncryptedObject
The on-disk (on-block) format: a serialized+encrypted logical object. This is what actually gets written into a block.
ExtentEntry
Maps a logical file chunk index to a block containing the encrypted data chunk.
ExtentMap
Per-file map of chunks. V1 uses one extent map per file.
Inode
Metadata for a single filesystem object (file or directory).
LogicalObject
A decrypted logical object with its kind tag and plaintext payload.
ObjectRef
A reference to a logical object stored at a particular block.
RootPointer
Stored in block 1 (A) and block 2 (B). Points to the current superblock. We alternate between A and B to get atomic commits.
StorageHeader
Written to block 0. Identifies the filesystem format.
Superblock
The root metadata object for the filesystem.

Enums§

InodeKind
The type of a filesystem entry.
ObjectKind
Identifies the kind of logical object stored in a block.

Constants§

BLOCK_ROOT_POINTER_A
BLOCK_ROOT_POINTER_B
BLOCK_STORAGE_HEADER
Reserved block IDs.
DEFAULT_BLOCK_SIZE
Default block size: 64 KiB.
FIRST_DATA_BLOCK
First allocatable block ID (after reserved blocks).
MAX_NAME_LEN
Maximum filename length in bytes.

Type Aliases§

InodeId
Unique inode identifier. Monotonically allocated.