Skip to main contentModule model
Source - 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.
- InodeKind
- The type of a filesystem entry.
- ObjectKind
- Identifies the kind of logical object stored in a block.
- 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.
- InodeId
- Unique inode identifier. Monotonically allocated.