From 7bbcc0f849e9430c42f0e698f7c468d3a3a33b80 Mon Sep 17 00:00:00 2001 From: Sebastien Boeuf Date: Wed, 22 Sep 2021 14:46:04 +0200 Subject: [PATCH] vmm: memory_manager: Make sure the hotplugged_size is up to date The amount of memory plugged in the virtio-mem region should always be kept up to date in the hotplugged_size field from VirtioMemZone. Signed-off-by: Sebastien Boeuf --- vmm/src/memory_manager.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vmm/src/memory_manager.rs b/vmm/src/memory_manager.rs index 60e1b2b11..67fbfc8d8 100644 --- a/vmm/src/memory_manager.rs +++ b/vmm/src/memory_manager.rs @@ -1314,11 +1314,14 @@ impl MemoryManager { pub fn virtio_mem_resize(&mut self, id: &str, size: u64) -> Result<(), Error> { if let Some(memory_zone) = self.memory_zones.get_mut(id) { - if let Some(virtio_mem_zone) = memory_zone.virtio_mem_zone() { + if let Some(virtio_mem_zone) = &mut memory_zone.virtio_mem_zone { virtio_mem_zone .resize_handler() .work(size) .map_err(Error::VirtioMemResizeFail)?; + + // Keep the hotplugged_size up to date. + virtio_mem_zone.hotplugged_size = size; } else { error!("Failed resizing virtio-mem region: No virtio-mem handler"); return Err(Error::MissingVirtioMemHandler);