virtio-devices: mem: Improve semantic around Resize object

By introducing a ResizeSender object, we avoid having a Resize clone
with a different content than the original Resize object.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
This commit is contained in:
Sebastien Boeuf
2021-02-02 16:17:35 +01:00
committed by Rob Bradford
parent eee218f1f5
commit f24094392e
2 changed files with 45 additions and 32 deletions

View File

@@ -330,8 +330,8 @@ pub enum DeviceManagerError {
/// Cannot create virtio-mem device
CreateVirtioMem(io::Error),
/// Cannot try Clone virtio-mem resize
TryCloneVirtioMemResize(virtio_devices::mem::Error),
/// Cannot generate a ResizeSender from the Resize object.
CreateResizeSender(virtio_devices::mem::Error),
/// Cannot find a memory range for virtio-mem memory
VirtioMemRangeAllocation,
@@ -2342,8 +2342,8 @@ impl DeviceManager {
virtio_mem_zone.region(),
virtio_mem_zone
.resize_handler()
.try_clone()
.map_err(DeviceManagerError::TryCloneVirtioMemResize)?,
.new_resize_sender()
.map_err(DeviceManagerError::CreateResizeSender)?,
self.seccomp_action.clone(),
node_id,
virtio_mem_zone.hotplugged_size(),