Elide is a log-structured block storage system combining demand-fetch, content-addressed dedup, and delta compression, designed for running many VMs efficiently on shared infrastructure.
| Document | Contents |
|---|---|
| docs/quickstart.md | Import an OCI image, branch a writable replica, and serve it over NBD |
| docs/quickstart-data-volume.md | Create an empty data volume, mount from a Multipass VM, write data, upload segments |
| docs/quickstart-tigris.md | Run against a real S3-compatible backend (Tigris); covers AWS S3, MinIO, R2, etc. |
| docs/overview.md | Problem statement, key concepts, operation modes, empirical findings |
| docs/findings.md | Empirical measurements: dedup rates, demand-fetch patterns, delta compression data, write amplification |
| docs/architecture.md | System architecture, directory layout, write/read paths, LBA map, extent index, dedup, snapshots |
| docs/formats.md | WAL format, segment file format (header + index + inline + body + delta), S3 retrieval strategies |
| docs/operations.md | GC, repacking, boot hints, filesystem metadata awareness |
| docs/testing.md | Property-based tests: ULID monotonicity and crash-recovery oracle |
| docs/reference.md | Implementation notes, open questions, and index of prior art docs |
| docs/reference-lsvd.md | lab47/lsvd design decisions and comparison to Elide |
| docs/reference-nydus.md | nydus-snapshotter: lazy loading, RAFS format, NRI optimizer, boot hints |
| docs/vm-boot.md | Booting a VM from an Elide volume with QEMU direct kernel boot |
| docs/design-gc-ulid-ordering.md | Open design: GC ULID ordering race, single-mint invariant, proptest findings |
| docs/design-gc-overlap-correctness.md | Design: GC skips partial-LBA-death entries to avoid shadow/loss on rebuild when multi-LBA entries have been partially overwritten |
| docs/design-gc-partial-death-compaction.md | Design: decouple composite body from surviving sub-runs of partial-LBA-death entries so normal GC can subsequently reclaim each piece independently |
| docs/design-gc-plan-handoff.md | Design: coordinator emits a plaintext plan; volume materialises bodies via BlockReader and signs the output — single source of truth for body resolution |
| docs/design-delta-compression.md | Design: delta compression via file-path matching, file-aware import, snapshot filemaps |
| docs/design-replica-model.md | Proposed: replica-based model for forks and recovery; retires volume fork, adds volume materialize, frames snapshot cadence as a retention SLA |
| docs/design-tigris-native.md | Exploration: what Elide looks like if designed Tigris-native (bucket snapshots, forks, versioning as first-class primitives) rather than as a portable S3 consumer |
| docs/integrations.md | Integration targets: Docker, Firecracker, Cloud Hypervisor, Kubernetes — architecture, sequencing, open work |
| docs/design-oci-export.md | Exploration: squashed OCI export, dual publish via referrers, elide-snapshotter for containerd |
| docs/actor-offload-plan.md | Plan: offload heavy maintenance work off the volume actor to isolate write tail latency |
| docs/promote-offload-plan.md | Plan: offload WAL promotion onto the worker thread (first step of actor-offload-plan) |
| docs/promote-segment-offload-plan.md | Plan: offload promote_segment IPC handler to the worker thread (step 6 of actor-offload-plan) |
Dated waypoints — each file summarises major changes, bug fixes, and remaining work relative to the previous status. Latest first.
| Date | Document |
|---|---|
| 2026-04-20 | docs/status-2026-04-20.md |
| 2026-04-09 | docs/status-2026-04-09.md |
| 2026-03-30 | docs/status-2026-03-30.md |
Start with docs/overview.md.