smolvm_protocol/forkpoint.rs
1//! Stable guest paths used to coordinate a live fork.
2
3/// Directory privately inherited by each restored VM.
4pub const STATE_DIR: &str = "/run/smolvm/forkpoint";
5
6/// Marker written by the workload when it reaches a safe fork boundary.
7pub const READY_PATH: &str = "/run/smolvm/forkpoint/ready";
8
9/// First line of every supported forkpoint readiness marker.
10pub const READY_VERSION: &str = "smolvm-forkpoint-v1";
11
12/// Optional readiness-marker capability requesting eager clone module loading.
13pub const CUDA_PRELOAD_MODULES_HINT: &str = "cuda-preload-modules";
14
15/// Marker written after a restored clone can safely enter ordinary timed waits.
16pub const RESTORED_PATH: &str = "/run/smolvm/forkpoint/restored";
17
18/// Marker written by the host after a clone is ready to resume.
19pub const RELEASE_PATH: &str = "/run/smolvm/forkpoint/release";
20
21/// Marker written after a released worker finishes clone-local preparation.
22pub const WORKER_READY_PATH: &str = "/run/smolvm/forkpoint/worker-ready";
23
24/// Per-clone environment installed by the host before workload release.
25pub const FORK_ENV_PATH: &str = "/etc/smolvm/fork-env";
26
27/// Host-generated readiness token delivered through [`FORK_ENV_PATH`].
28pub const WORKER_READY_TOKEN_ENV: &str = "SMOLVM_WORKER_READY_TOKEN";
29
30/// Workload-facing helper installed in bare VMs and workload containers.
31pub const HELPER_PATH: &str = "/usr/local/bin/smolvm-fork-ready";
32
33/// Helper used by a released workload after clone-local preparation finishes.
34pub const WORKER_READY_HELPER_PATH: &str = "/usr/local/bin/smolvm-worker-ready";