From c73c9b112c724443dda952b1826e40ac16937954 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Mon, 16 Mar 2020 18:15:55 +0100 Subject: [PATCH] vmm: vm: Open kernel and initramfs once all managers are created Signed-off-by: Samuel Ortiz --- vmm/src/vm.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index 0db98e942..b64f4f964 100755 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -299,18 +299,6 @@ impl Vm { ) -> Result { let (kvm, fd) = Vm::kvm_new()?; - let kernel = File::open(&config.lock().unwrap().kernel.as_ref().unwrap().path) - .map_err(Error::KernelFile)?; - - let initramfs = config - .lock() - .unwrap() - .initramfs - .as_ref() - .map(|i| File::open(&i.path)) - .transpose() - .map_err(Error::InitramfsFile)?; - let memory_manager = MemoryManager::new(fd.clone(), &config.lock().unwrap().memory.clone()) .map_err(Error::MemoryManager)?; @@ -335,6 +323,18 @@ impl Vm { .map_err(Error::CpuManager)?; let on_tty = unsafe { libc::isatty(libc::STDIN_FILENO as i32) } != 0; + let kernel = File::open(&config.lock().unwrap().kernel.as_ref().unwrap().path) + .map_err(Error::KernelFile)?; + + let initramfs = config + .lock() + .unwrap() + .initramfs + .as_ref() + .map(|i| File::open(&i.path)) + .transpose() + .map_err(Error::InitramfsFile)?; + Ok(Vm { kernel, initramfs,