diff --git a/src/dragonball/src/api/v1/vmm_action.rs b/src/dragonball/src/api/v1/vmm_action.rs index 1bd40cad01..ae9db4fb4c 100644 --- a/src/dragonball/src/api/v1/vmm_action.rs +++ b/src/dragonball/src/api/v1/vmm_action.rs @@ -279,9 +279,7 @@ impl VmmService { }; use super::VmmActionError::BootSource; - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; if vm.is_vm_initialized() { return Err(BootSource(UpdateNotAllowedPostBoot)); } @@ -315,9 +313,7 @@ impl VmmService { let vmm_seccomp_filter = vmm.vmm_seccomp_filter(); let vcpu_seccomp_filter = vmm.vcpu_seccomp_filter(); - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; if vm.is_vm_initialized() { return Err(StartMicroVm(MicroVMAlreadyRunning)); } @@ -342,9 +338,7 @@ impl VmmService { use self::VmConfigError::*; use self::VmmActionError::MachineConfig; - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; if vm.is_vm_initialized() { return Err(MachineConfig(UpdateNotAllowedPostBoot)); } @@ -455,9 +449,7 @@ impl VmmService { #[cfg(feature = "virtio-vsock")] fn add_vsock_device(&self, vmm: &mut Vmm, config: VsockDeviceConfigInfo) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; if vm.is_vm_initialized() { return Err(VmmActionError::Vsock( VsockDeviceError::UpdateNotAllowedPostBoot, @@ -496,9 +488,7 @@ impl VmmService { event_mgr: &mut EventManager, config: BlockDeviceConfigInfo, ) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; let ctx = vm .create_device_op_context(Some(event_mgr.epoll_manager())) .map_err(|e| { @@ -520,9 +510,7 @@ impl VmmService { vmm: &mut Vmm, config: BlockDeviceConfigUpdateInfo, ) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; BlockDeviceMgr::update_device_ratelimiters(vm.device_manager_mut(), config) .map(|_| VmmData::Empty) @@ -538,9 +526,7 @@ impl VmmService { event_mgr: &mut EventManager, drive_id: &str, ) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; let ctx = vm .create_device_op_context(Some(event_mgr.epoll_manager())) .map_err(|_| VmmActionError::Block(BlockDeviceError::UpdateNotAllowedPostBoot))?; @@ -557,9 +543,7 @@ impl VmmService { event_mgr: &mut EventManager, config: VirtioNetDeviceConfigInfo, ) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; let ctx = vm .create_device_op_context(Some(event_mgr.epoll_manager())) .map_err(|e| { @@ -583,9 +567,7 @@ impl VmmService { vmm: &mut Vmm, config: VirtioNetDeviceConfigUpdateInfo, ) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; VirtioNetDeviceMgr::update_device_ratelimiters(vm.device_manager_mut(), config) .map(|_| VmmData::Empty) @@ -594,9 +576,7 @@ impl VmmService { #[cfg(feature = "virtio-fs")] fn add_fs_device(&mut self, vmm: &mut Vmm, config: FsDeviceConfigInfo) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; let hotplug = vm.is_vm_initialized(); if !cfg!(feature = "hotplug") && hotplug { return Err(VmmActionError::FsDevice( @@ -619,9 +599,7 @@ impl VmmService { vmm: &mut Vmm, config: FsMountConfigInfo, ) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; if !vm.is_vm_initialized() { return Err(VmmActionError::FsDevice(FsDeviceError::MicroVMNotRunning)); @@ -638,9 +616,7 @@ impl VmmService { vmm: &mut Vmm, config: FsDeviceConfigUpdateInfo, ) -> VmmRequestResult { - let vm = vmm - .get_vm_by_id_mut("") - .ok_or(VmmActionError::InvalidVMID)?; + let vm = vmm.get_vm_mut().ok_or(VmmActionError::InvalidVMID)?; if !vm.is_vm_initialized() { return Err(VmmActionError::FsDevice(FsDeviceError::MicroVMNotRunning)); diff --git a/src/dragonball/src/event_manager.rs b/src/dragonball/src/event_manager.rs index 9a2ad9d1c7..f07b786506 100644 --- a/src/dragonball/src/event_manager.rs +++ b/src/dragonball/src/event_manager.rs @@ -135,7 +135,7 @@ impl MutEventSubscriber for VmmEpollHandler { self.vmm_event_count.fetch_add(1, Ordering::AcqRel); } EPOLL_EVENT_EXIT => { - let vm = vmm.get_vm_by_id("").unwrap(); + let vm = vmm.get_vm().unwrap(); match vm.get_reset_eventfd() { Some(ev) => { if let Err(e) = ev.read() { diff --git a/src/dragonball/src/vmm.rs b/src/dragonball/src/vmm.rs index 362415dbd9..a25543e342 100644 --- a/src/dragonball/src/vmm.rs +++ b/src/dragonball/src/vmm.rs @@ -85,12 +85,12 @@ impl Vmm { } /// Get a reference to a virtual machine managed by the VMM. - pub fn get_vm_by_id(&self, _id: &str) -> Option<&Vm> { + pub fn get_vm(&self) -> Option<&Vm> { Some(&self.vm) } /// Get a mutable reference to a virtual machine managed by the VMM. - pub fn get_vm_by_id_mut(&mut self, _id: &str) -> Option<&mut Vm> { + pub fn get_vm_mut(&mut self) -> Option<&mut Vm> { Some(&mut self.vm) } @@ -156,7 +156,7 @@ impl Vmm { /// Waits for all vCPUs to exit and terminates the Dragonball process. fn stop(&mut self, exit_code: i32) -> i32 { info!("Vmm is stopping."); - if let Some(vm) = self.get_vm_by_id_mut("") { + if let Some(vm) = self.get_vm_mut() { if vm.is_vm_initialized() { if let Err(e) = vm.remove_devices() { warn!("failed to remove devices: {:?}", e);