mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
devices, vmm: improve error chain for ivshmm
On-behalf-of: SAP philipp.schuster@sap.com Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
This commit is contained in:
committed by
Rob Bradford
parent
778c9f53dc
commit
aa898db8d7
@@ -45,11 +45,11 @@ pub enum IvshmemError {
|
||||
#[error("Failed to remove user memory region")]
|
||||
RemoveUserMemoryRegion,
|
||||
#[error("Failed to create user memory region.")]
|
||||
CreateUserMemoryRegion,
|
||||
CreateUserMemoryRegion(#[source] anyhow::Error),
|
||||
#[error("Failed to create userspace mapping.")]
|
||||
CreateUserspaceMapping,
|
||||
CreateUserspaceMapping(#[source] anyhow::Error),
|
||||
#[error("Failed to remove old userspace mapping.")]
|
||||
RemoveUserspaceMapping,
|
||||
RemoveUserspaceMapping(#[source] anyhow::Error),
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
|
||||
@@ -5372,7 +5372,7 @@ impl IvshmemOps for IvshmemHandler {
|
||||
None,
|
||||
false,
|
||||
)
|
||||
.map_err(|_| IvshmemError::CreateUserMemoryRegion)?;
|
||||
.map_err(|e| IvshmemError::CreateUserMemoryRegion(e.into()))?;
|
||||
let mem_slot = {
|
||||
let mut manager = self.memory_manager.lock().unwrap();
|
||||
// SAFETY: guaranteed by MmapRegion invariants
|
||||
@@ -5387,7 +5387,7 @@ impl IvshmemOps for IvshmemHandler {
|
||||
)
|
||||
}
|
||||
}
|
||||
.map_err(|_| IvshmemError::CreateUserspaceMapping)?;
|
||||
.map_err(|e| IvshmemError::CreateUserspaceMapping(e.into()))?;
|
||||
let region = Arc::new(region);
|
||||
let mapping = UserspaceMapping {
|
||||
mapping: region.clone(),
|
||||
@@ -5410,7 +5410,7 @@ impl IvshmemOps for IvshmemHandler {
|
||||
mapping.mem_slot,
|
||||
)
|
||||
}
|
||||
.map_err(|_| IvshmemError::RemoveUserspaceMapping)?;
|
||||
.map_err(|e| IvshmemError::RemoveUserspaceMapping(e.into()))?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user