You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
/~https://github.com/firecracker-microvm/firecracker/blob/main/docs/snapshotting/snapshot-support.md#creating-diff-snapshots ↩
The text was updated successfully, but these errors were encountered: