mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-22 13:45:20 +00:00
vmm: Pass the newly created console resizer pipe during vm reboot
For a VM with virt-console enabled, when a reboot is requested, the console devices are closed during the shutdown path. As part of this the sigwinch listener process and the console resizer pipe are closed. For the new incarnation of the VM, fresh set of console devices are setup and a new console resizer pipe is created. The new VM should be setup to use the newly created console devices including the console resizer pipe. Reading from the older console resizer pipe results in unexpected eof error and terminates the cloud hypervisor process. Signed-off-by: BharatNarasimman <bharatn@microsoft.com>
This commit is contained in:
parent
d90fa96bb7
commit
a0ae3ad1df
@ -1490,11 +1490,10 @@ impl RequestHandler for Vmm {
|
|||||||
event!("vm", "rebooting");
|
event!("vm", "rebooting");
|
||||||
|
|
||||||
// First we stop the current VM
|
// First we stop the current VM
|
||||||
let (config, console_resize_pipe) = if let Some(mut vm) = self.vm.take() {
|
let config = if let Some(mut vm) = self.vm.take() {
|
||||||
let config = vm.get_config();
|
let config = vm.get_config();
|
||||||
let console_resize_pipe = vm.console_resize_pipe();
|
|
||||||
vm.shutdown()?;
|
vm.shutdown()?;
|
||||||
(config, console_resize_pipe)
|
config
|
||||||
} else {
|
} else {
|
||||||
return Err(VmError::VmNotCreated);
|
return Err(VmError::VmNotCreated);
|
||||||
};
|
};
|
||||||
@ -1536,7 +1535,7 @@ impl RequestHandler for Vmm {
|
|||||||
self.hypervisor.clone(),
|
self.hypervisor.clone(),
|
||||||
activate_evt,
|
activate_evt,
|
||||||
self.console_info.clone(),
|
self.console_info.clone(),
|
||||||
console_resize_pipe,
|
self.console_resize_pipe.as_ref().map(Arc::clone),
|
||||||
Arc::clone(&self.original_termios_opt),
|
Arc::clone(&self.original_termios_opt),
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
|
Loading…
Reference in New Issue
Block a user