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

allow writing snapshot on top of existing files #1

Open
wants to merge 32 commits into
base: main
Choose a base branch
from

Conversation

CompuIves
Copy link
Member

No description provided.

@CompuIves CompuIves force-pushed the codesandbox/memory-save-snapshot branch from cf68a98 to f3b8fa6 Compare May 25, 2022 11:55
bchalios and others added 29 commits May 27, 2022 15:29
Logic for writing a frame to a descriptor chain was a bit convoluted.

Signed-off-by: Babis Chalios <[email protected]>
Use notification suppression feature of VirtIO for net device.

Signed-off-by: Babis Chalios <[email protected]>
Instead of keeping track whether we have consumed any descriptors in a
separate variable, rely on `prepare_kick()` to find out whether we
should enable guest notifications.

This will probably induce a performance hit with guests that don't
support notification suppression, but it simplifies the code in the
common case.

Signed-off-by: Babis Chalios <[email protected]>
One notification-suppression related unit test and some more additions
to increase total code coverage.

Signed-off-by: Babis Chalios <[email protected]>
On Firecracker v1.1.0 we add support for notification suppression in the
VirtIO net device, which renders making snapshots for older versions
incompatible.

This commit forbids snapshots to v1.0.0 if the net device uses
notification suppression and adapts integration tests to reflect the
incompatibility.

Signed-off-by: Babis Chalios <[email protected]>
Signed-off-by: Babis Chalios <[email protected]>
Fixes these warnings when running the tests:

Signed-off-by: Pablo Barbáchano <[email protected]>
Signed-off-by: Alexandru-Cezar Sardan <[email protected]>
Signed-off-by: Alexandru-Cezar Sardan <[email protected]>
Signed-off-by: Jonathan Woollett-Light <[email protected]>

shorter
This makes it much easier to view the dependency
changes whenever introduced.

Signed-off-by: alindima <[email protected]>
Signed-off-by: Jonathan Woollett-Light <[email protected]>
Replace mmio::Error::IrqExhausted with vm-allocator error.

Signed-off-by: Jonathan Woollett-Light <[email protected]>
Replace old logic for irq numbers allocation with the IdAllocator
component from vm-allocator crate.

Signed-off-by: Jonathan Woollett-Light <[email protected]>
Replace the old logic for mmio slots allocation with the
AddressAllocator component from vm-allocator component. Also
restored the AddressAllocator on restore path.

Signed-off-by: Jonathan Woollett-Light <[email protected]>
Co-authored-by: Alexandru Cihodaru <[email protected]>
Signed-off-by: Jonathan Woollett-Light <[email protected]>
Signed-off-by: Jonathan Woollett-Light <[email protected]>
Added constants and source references for legacy device handling with
`PortIODeviceManager`.

Signed-off-by: Jonathan Woollett-Light <[email protected]>
Signed-off-by: Jonathan Woollett-Light <[email protected]>
Signed-off-by: Jonathan Woollett-Light <[email protected]>
@CompuIves CompuIves force-pushed the codesandbox/memory-save-snapshot branch from f3b8fa6 to 62db03e Compare June 15, 2022 12:53
@CompuIves CompuIves force-pushed the codesandbox/memory-save-snapshot branch from 94030d2 to 18c70af Compare June 21, 2022 10:02
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.

10 participants