mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-22 13:45:20 +00:00
hypervisor: adjust new function return type
Make them return wrapped trait object directly. No functional change. Signed-off-by: Wei Liu <liuwe@microsoft.com>
This commit is contained in:
parent
ad33f7c5e6
commit
c3ce5aa5b1
@ -905,7 +905,8 @@ pub enum KvmError {
|
|||||||
pub type KvmResult<T> = result::Result<T, KvmError>;
|
pub type KvmResult<T> = result::Result<T, KvmError>;
|
||||||
impl KvmHypervisor {
|
impl KvmHypervisor {
|
||||||
/// Create a hypervisor based on Kvm
|
/// Create a hypervisor based on Kvm
|
||||||
pub fn new() -> hypervisor::Result<KvmHypervisor> {
|
#[allow(clippy::new_ret_no_self)]
|
||||||
|
pub fn new() -> hypervisor::Result<Arc<dyn hypervisor::Hypervisor>> {
|
||||||
let kvm_obj = Kvm::new().map_err(|e| hypervisor::HypervisorError::VmCreate(e.into()))?;
|
let kvm_obj = Kvm::new().map_err(|e| hypervisor::HypervisorError::VmCreate(e.into()))?;
|
||||||
let api_version = kvm_obj.get_api_version();
|
let api_version = kvm_obj.get_api_version();
|
||||||
|
|
||||||
@ -913,7 +914,7 @@ impl KvmHypervisor {
|
|||||||
return Err(hypervisor::HypervisorError::IncompatibleApiVersion);
|
return Err(hypervisor::HypervisorError::IncompatibleApiVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(KvmHypervisor { kvm: kvm_obj })
|
Ok(Arc::new(KvmHypervisor { kvm: kvm_obj }))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// Implementation of Hypervisor trait for KVM
|
/// Implementation of Hypervisor trait for KVM
|
||||||
|
@ -74,7 +74,7 @@ pub fn new() -> std::result::Result<Arc<dyn Hypervisor>, HypervisorError> {
|
|||||||
#[cfg(feature = "mshv")]
|
#[cfg(feature = "mshv")]
|
||||||
let hv = mshv::MshvHypervisor::new()?;
|
let hv = mshv::MshvHypervisor::new()?;
|
||||||
|
|
||||||
Ok(Arc::new(hv))
|
Ok(hv)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns a `Vec<T>` with a size in bytes at least as large as `size_in_bytes`.
|
// Returns a `Vec<T>` with a size in bytes at least as large as `size_in_bytes`.
|
||||||
|
@ -177,10 +177,11 @@ impl MshvHypervisor {
|
|||||||
|
|
||||||
impl MshvHypervisor {
|
impl MshvHypervisor {
|
||||||
/// Create a hypervisor based on Mshv
|
/// Create a hypervisor based on Mshv
|
||||||
pub fn new() -> hypervisor::Result<MshvHypervisor> {
|
#[allow(clippy::new_ret_no_self)]
|
||||||
|
pub fn new() -> hypervisor::Result<Arc<dyn hypervisor::Hypervisor>> {
|
||||||
let mshv_obj =
|
let mshv_obj =
|
||||||
Mshv::new().map_err(|e| hypervisor::HypervisorError::HypervisorCreate(e.into()))?;
|
Mshv::new().map_err(|e| hypervisor::HypervisorError::HypervisorCreate(e.into()))?;
|
||||||
Ok(MshvHypervisor { mshv: mshv_obj })
|
Ok(Arc::new(MshvHypervisor { mshv: mshv_obj }))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// Implementation of Hypervisor trait for Mshv
|
/// Implementation of Hypervisor trait for Mshv
|
||||||
|
Loading…
Reference in New Issue
Block a user