Skip to content

chore(fc-fork): bump firecracker submodule — retire dead v1 MAP_SHARED/Msync surface - #469

Closed
nikhilunni wants to merge 2 commits into
mainfrom
cleanup/fc-fork-retire-v1-mapshared
Closed

nikhilunni wants to merge 2 commits into
mainfrom
cleanup/fc-fork-retire-v1-mapshared

Conversation

@nikhilunni

Copy link
Copy Markdown
Contributor

Paired with cortexapps/firecracker#9. Bumps third_party/firecracker d78c1dc1 → 0e02b3a9, removing the dead v1 MAP_SHARED/Msync snapshot surface that was superseded by the v2 UFFD substrate + the v3 vmstate-only post-copy path.

Why it's safe

  • Nothing in engrams emits it: the host's SnapshotType is {Full, Diff} and there is no shared load param (client.rs). ADR 0045 D1 marked it for retirement.
  • The fork change is a revert of the v1 commit reconciled with v2/v3: v2 (substrate) and v3 (vmstate_only) are intact; the v2 base-file path now uses the upstream 3-arg snapshot_file (MAP_PRIVATE — its existing behavior).
  • No change to src/vmm/src/snapshot/ and no SNAPSHOT_VERSION bump — byte-compatible with stock (the fork's hard invariant, exercised by stock_fork_snapshot_compat).

Validation

  • Fork side: cargo check -p vmm (lib + tests) for aarch64-unknown-linux-musl clean.
  • This PR's CI is the authoritative end-to-end check: build-firecracker (real GNU target) + the stock↔fork snapshot-compat test + the FC integration suite run against the v1-removed fork.

⚠️ Merge ordering

Merge cortexapps/firecracker#9 → engram/live-migration first, then this. If #9 is squash-merged (new SHA on engram/live-migration), re-pin this submodule bump to the merged SHA before merging. (The pinned 0e02b3a9 is currently the tip of the fork PR branch.)

Follow-up #2 of two flagged after the substrate cleanup series (follow-up #1 = #468).

🤖 Generated with Claude Code

nikhilunni and others added 2 commits June 29, 2026 16:53
…HARED/Msync surface

Bumps third_party/firecracker d78c1dc1 -> 0e02b3a9 (cortexapps/firecracker#9),
removing the dead v1 MAP_SHARED + Msync/MsyncAndState snapshot surface that was
superseded by the v2 UFFD substrate and the v3 vmstate-only post-copy path.
Nothing in engrams emits it (the host's SnapshotType is {Full, Diff}; there is
no `shared` load param), and ADR 0045 D1 marked it for retirement. No change to
src/vmm/src/snapshot/ and no SNAPSHOT_VERSION bump — byte-compatible with stock.

This PR's CI (build-firecracker + the stock<->fork snapshot-compat test + the FC
integration suite) is the authoritative end-to-end validation of the fork change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013EkVddad6rxeV6xFfovQ8x
@nikhilunni
nikhilunni force-pushed the cleanup/fc-fork-retire-v1-mapshared branch from 168c2c6 to cfd360b Compare June 29, 2026 23:54
@nikhilunni nikhilunni closed this Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant