Tracking issue: MicroVM support and private snapshot restore.
Motivation
Restoring guest RAM alone is insufficient for a virtio device: negotiated state,
queue ownership, pending work, and interrupt state must agree with the guest.
Console support provides a concrete first consumer of a generic persistence
contract and makes buffered I/O and host-endpoint reconstruction observable.
Proposed Scope
- Define bounded, validated generic virtio device and queue persistence.
- Defer restored device activation until required state and attachments are ready,
with an explicit acknowledgment of activation success or failure.
- Persist the console's buffered I/O under a documented save-boundary contract.
- Reconstruct host console endpoints rather than serializing process-local handles
or assuming an endpoint survives capture.
- Include generic persistence and working console reconstruction in the same PR.
- Propagate quiesce and activation failures through the snapshot transaction.
Acceptance Criteria
Dependencies
Non-Goals
Acknowledged activation is a lifecycle requirement. Network and filesystem
persistence are separate consumers of this generic contract.
Tracking issue: MicroVM support and private snapshot restore.
Motivation
Restoring guest RAM alone is insufficient for a virtio device: negotiated state,
queue ownership, pending work, and interrupt state must agree with the guest.
Console support provides a concrete first consumer of a generic persistence
contract and makes buffered I/O and host-endpoint reconstruction observable.
Proposed Scope
with an explicit acknowledgment of activation success or failure.
or assuming an endpoint survives capture.
Acceptance Criteria
relevant interrupt/device status; malformed state is rejected without panics.
acknowledged, and a failed activation unwinds cleanly.
save boundary, including empty and partially consumed buffers.
progress and the expected byte sequence after endpoint reconstruction.
any resources already prepared.
Dependencies
Non-Goals
Acknowledged activation is a lifecycle requirement. Network and filesystem
persistence are separate consumers of this generic contract.