From 1d852e9ce556f6108fb6a88ca199a1edca2dda9d Mon Sep 17 00:00:00 2001 From: Jose Carlos Venegas Munoz Date: Thu, 21 Nov 2019 18:32:39 +0000 Subject: [PATCH] vmm: Provide vmm version to start_vmm_thread When vmm.ping give a response, we expect get the version from the VMM not the vmm create Signed-off-by: Jose Carlos Venegas Munoz --- src/main.rs | 1 + vmm/src/lib.rs | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7ff959d55..df8563993 100755 --- a/src/main.rs +++ b/src/main.rs @@ -358,6 +358,7 @@ fn main() { let http_sender = api_request_sender.clone(); let vmm_thread = match vmm::start_vmm_thread( + env!("CARGO_PKG_VERSION").to_string(), api_socket_path, api_evt.try_clone().unwrap(), http_sender, diff --git a/vmm/src/lib.rs b/vmm/src/lib.rs index 779a3f861..7c015aa8d 100644 --- a/vmm/src/lib.rs +++ b/vmm/src/lib.rs @@ -148,6 +148,7 @@ impl AsRawFd for EpollContext { } pub fn start_vmm_thread( + vmm_version: String, http_path: &str, api_event: EventFd, api_sender: Sender, @@ -158,7 +159,7 @@ pub fn start_vmm_thread( let thread = thread::Builder::new() .name("vmm".to_string()) .spawn(move || { - let mut vmm = Vmm::new(api_event)?; + let mut vmm = Vmm::new(vmm_version.to_string(), api_event)?; vmm.control_loop(Arc::new(api_receiver)) }) @@ -175,12 +176,13 @@ pub struct Vmm { exit_evt: EventFd, reset_evt: EventFd, api_evt: EventFd, + version: String, vm: Option, vm_config: Option>, } impl Vmm { - fn new(api_evt: EventFd) -> Result { + fn new(vmm_version: String, api_evt: EventFd) -> Result { let mut epoll = EpollContext::new().map_err(Error::Epoll)?; let exit_evt = EventFd::new(EFD_NONBLOCK).map_err(Error::EventFdCreate)?; let reset_evt = EventFd::new(EFD_NONBLOCK).map_err(Error::EventFdCreate)?; @@ -206,6 +208,7 @@ impl Vmm { exit_evt, reset_evt, api_evt, + version: vmm_version, vm: None, vm_config: None, }) @@ -304,7 +307,7 @@ impl Vmm { fn vmm_ping(&self) -> result::Result { Ok(VmmPingResponse { - version: env!("CARGO_PKG_VERSION").to_string(), + version: self.version.clone(), }) }