vmbus_server: use a separate max restore version#3715
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a separate, restore-specific VMBus max protocol/version limit so restore acceptance can be configured independently of the max version/feature flags offered during live negotiation (supporting rollback/servicing scenarios such as OpenHCL).
Changes:
- Introduce
max_restore_versiononVmbusServerBuilderand plumb it intochannels::Server. - Update restore codepaths to apply the restore-specific max version/feature mask.
- Update OpenVMM wiring and unit tests to use the new restore compatibility setter.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| vm/devices/vmbus/vmbus_server/src/lib.rs | Adds builder option for max_restore_version and applies it during server construction. |
| vm/devices/vmbus/vmbus_server/src/channels.rs | Adds max_restore_version storage and a setter; updates comments around version limiting. |
| vm/devices/vmbus/vmbus_server/src/channels/saved_state.rs | Switches restore enforcement from max_version to max_restore_version. |
| vm/devices/vmbus/vmbus_server/src/channels/tests.rs | Updates restore-related tests to configure restore compatibility directly. |
| openvmm/openvmm_core/src/worker/dispatch.rs | Wires OpenVMM to set both live and restore max version values from config. |
will-j-wright
approved these changes
Jun 10, 2026
will-j-wright
approved these changes
Jun 16, 2026
benhillis
approved these changes
Jun 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
in #3482, the restore process for VMBus was updated to respect the configured max protocol version and feature flags. However, this is not the behavior we necessarily want in all cases. For example, in OpenHCL we want to be able to allow a feature to be enabled for restore even if otherwise still disabled, so that we can later enable it once we know that all versions we might roll back to can support it.
For this reason, this change makes the version limit during restore operations a separately configurable value.