Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diff Snapshotting feature does not take into account full snapshots #4543

Closed
JonathanWoollett-Light opened this issue Apr 8, 2024 · 0 comments · Fixed by #4536
Closed

Diff Snapshotting feature does not take into account full snapshots #4543

JonathanWoollett-Light opened this issue Apr 8, 2024 · 0 comments · Fixed by #4536
Labels
Good first issue Indicates a good issue for first-time contributors

Comments

@JonathanWoollett-Light
Copy link
Contributor

Description

When a diff snapshot it taken, it always contains all pages that were dirtied since either instance start, or since the last diff snapshot was taken, whichever is more recent. This is not what we document it to do 1: We say " the diff consists of the memory pages which have been dirtied since the last snapshot creation or since the creation of the microVM, whichever of these events was the most recent." Here "last snapshot creation" includes full snapshots, not just diff snapshots (and that makes sense, if I take a diff snapshot after a full snapshot, I expect the diff snapshot to be a diff compared to the full snapshot).

Acceptance Criteria

The issue arises because full snapshots do not reset the KVM or Firecracker dirty log. Therefore to fix this, we need to clear them on the "take full snapshot" path. This should happen only after the snapshot was successfully written to disk.

Footnotes

  1. /~https://github.com/firecracker-microvm/firecracker/blob/main/docs/snapshotting/snapshot-support.md#creating-diff-snapshots

@JonathanWoollett-Light JonathanWoollett-Light added the Good first issue Indicates a good issue for first-time contributors label Apr 8, 2024
@pb8o pb8o closed this as completed in #4536 Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Good first issue Indicates a good issue for first-time contributors
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant