mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
vm-migration: improve logging to make clear if receiver caused failure
This improves the observability whether a migration failed because of the sender or because of some error on the receiving side. Using a simple log message is simpler than introducing a new error enum to differentiate between SendError and RemoteError. 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
Bo Chen
parent
969d2f855d
commit
81022ab087
@@ -91,6 +91,7 @@ use std::ops::RangeInclusive;
|
|||||||
|
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
|
use log::error;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use zerocopy::{FromBytes, Immutable, IntoBytes, TryFromBytes};
|
use zerocopy::{FromBytes, Immutable, IntoBytes, TryFromBytes};
|
||||||
|
|
||||||
@@ -363,9 +364,10 @@ impl Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Return the response if its status is `Ok`; return the caller-provided error for any other status.
|
/// Return the response if its status is `Ok`; return the caller-provided error for any other status.
|
||||||
pub fn ok_or_error(self, error: MigratableError) -> Result<Response, MigratableError> {
|
pub fn ok_or_error(self, sender_error: MigratableError) -> Result<Response, MigratableError> {
|
||||||
if self.status != Status::Ok {
|
if self.status != Status::Ok {
|
||||||
return Err(error);
|
error!("Receiver reported error: aborting migration");
|
||||||
|
return Err(sender_error);
|
||||||
}
|
}
|
||||||
Ok(self)
|
Ok(self)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user