Skip to content
Snippets Groups Projects

RedoxFS Design Document

Structures

Header

The header is the entry point for the filesystem. When mounting a disk or image, it should be scanned for a block starting with the 8-byte signature, within the first megabyte:

"RedoxFS\0"

The header stores the filesystem version, disk identifier, disk size, root block pointer, and free block pointer.

#[repr(packed)]
pub struct Header {
    pub signature: [u8; 8],
    pub version: u64,
    pub uuid: [u8; 16],
    pub size: u64,
    pub root: u64,
    pub free: u64,
}

The root and free block pointers point to a Node that identifies

Node

#[repr(packed)]
pub struct Node {
    pub name: [u8; 256],
    pub mode: u64,
    pub next: u64,
    pub extents: [Extent; 15],
}