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

vhost_user: ignore unknown features from backend #243

Merged
merged 1 commit into from
Jul 1, 2024

Conversation

alyssais
Copy link
Contributor

@alyssais alyssais commented Jun 8, 2024

Summary of the PR

virtiofsd 1.11.0 added support for VHOST_USER_PROTOCOL_F_DEVICE_STATE. Upgrading virtiofsd meant that the latest released version of Cloud Hypervisor (39.0) was no longer able to communicate with it, because rather than just ignoring the unsupported feature, it got an unrecoverable "invalid message" error. This demonstrates that it's better for frontends to just ignore offers of unsupported features. If the backend requires some feature, it'll get a chance to know that when we send VHOST_USER_SET_PROTOCOL_FEATURES anyway.

Requirements

Before submitting your PR, please make sure you addressed the following
requirements:

  • All commits in this PR have Signed-Off-By trailers (with
    git commit -s), and the commit message has max 60 characters for the
    summary and max 75 characters for each description line.
  • All added/changed functionality has a corresponding unit/integration
    test.
  • All added/changed public-facing functionality has entries in the "Upcoming
    Release" section of CHANGELOG.md (if no such section exists, please create one).
  • Any newly added unsafe code is properly documented.

Copy link
Member

@stefano-garzarella stefano-garzarella left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, thanks for this fix, I completely agree on this change!

Copy link
Contributor

@aesteve-rh aesteve-rh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

virtiofsd 1.11.0 added support for VHOST_USER_PROTOCOL_F_DEVICE_STATE.
Upgrading virtiofsd meant that the latest released version of Cloud
Hypervisor (39.0) was no longer able to communicate with it, because
rather than just ignoring the unsupported feature, it got an
unrecoverable "invalid message" error.  This demonstrates that it's
better for frontends to just ignore offers of unsupported features.
If the backend requires some feature, it'll get a chance to know that
when we send VHOST_USER_SET_PROTOCOL_FEATURES anyway.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
@stefano-garzarella stefano-garzarella merged commit 7554d06 into rust-vmm:main Jul 1, 2024
31 checks passed
@alyssais alyssais deleted the unknown branch July 15, 2024 09:14
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.

None yet

4 participants