vmm: fix console resizing#6704
Merged
rbradford merged 1 commit intocloud-hypervisor:mainfrom Aug 31, 2024
Merged
Conversation
DeviceManager::add_virtio_console_device used to create the console resize pipe and assign it to self.console_resize_pipe, but when this was changed to use console_info, that was deleted without replacement. This meant that, even though the console resize pipe was created by pre_create_console_devices, the DeviceManager never found out about it, so console resize didn't work (at least for pty consoles). To fix this, the console resize pipe needs to be passed to the Vm initializer, which is already supported, it was just previously not used for new VMs. Since DeviceManager already stores the console resize pipe in an Arc, and Vmm also needs a copy of it, the sensible thing to do is change DeviceManager::new to take Arc, and then we don't need to dup the file descriptor, which could fail. Fixes: 52eebaf ("vmm: refactor DeviceManager to use console_info") Signed-off-by: Alyssa Ross <hi@alyssa.is>
liuw
approved these changes
Aug 30, 2024
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.
DeviceManager::add_virtio_console_deviceused to create the console resize pipe and assign it toself.console_resize_pipe, but when this was changed to use console_info, that was deleted without replacement. This meant that, even though the console resize pipe was created bypre_create_console_devices, theDeviceManagernever found out about it, so console resize didn't work (at least for pty consoles).To fix this, the console resize pipe needs to be passed to the
Vminitializer, which is already supported, it was just previously not used for new VMs.Since
DeviceManageralready stores the console resize pipe in anArc, andVmmalso needs a copy of it, the sensible thing to do is changeDeviceManager::newto takeArc, and then we don't need to dup the file descriptor, which could fail.Fixes: 52eebaf ("vmm: refactor DeviceManager to use console_info")