mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 13:11:31 +00:00
xenclient: auto-retry mmapbatch when paging state issues occur
This commit is contained in:
@ -110,6 +110,23 @@ impl XenClient {
|
||||
..Default::default()
|
||||
};
|
||||
let domid = self.call.create_domain(domain)?;
|
||||
match self.init(domid, &domain, config) {
|
||||
Ok(_) => Ok(domid),
|
||||
Err(err) => {
|
||||
// ignore since destroying a domain is best
|
||||
// effort when an error occurs
|
||||
let _ = self.call.destroy_domain(domid);
|
||||
Err(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn init(
|
||||
&mut self,
|
||||
domid: u32,
|
||||
domain: &CreateDomain,
|
||||
config: &DomainConfig,
|
||||
) -> Result<(), XenClientError> {
|
||||
let backend_dom_path = self.store.get_domain_path(0)?;
|
||||
let dom_path = self.store.get_domain_path(domid)?;
|
||||
let uuid_string = Uuid::from_bytes(domain.handle).to_string();
|
||||
@ -281,8 +298,7 @@ impl XenClient {
|
||||
)?;
|
||||
}
|
||||
self.call.unpause_domain(domid)?;
|
||||
|
||||
Ok(domid)
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn disk_device_add(
|
||||
|
Reference in New Issue
Block a user