mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
misc: ch-remote: streamline #[source] and Error impl
This streamlines the Error implementation in the Cloud Hypervisor code base to match the remaining parts so that everything follows the agreed conventions. These are leftovers missed in the previous commits. Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> On-behalf-of: SAP philipp.schuster@sap.com
This commit is contained in:
committed by
Rob Bradford
parent
517ea00bd9
commit
ab6e1bd2d8
+35
-43
@@ -6,7 +6,7 @@
|
|||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
use std::os::unix::net::UnixStream;
|
use std::os::unix::net::UnixStream;
|
||||||
use std::{fmt, process};
|
use std::process;
|
||||||
|
|
||||||
use api_client::{
|
use api_client::{
|
||||||
simple_api_command, simple_api_command_with_fds, simple_api_full_command,
|
simple_api_command, simple_api_command_with_fds, simple_api_full_command,
|
||||||
@@ -14,6 +14,7 @@ use api_client::{
|
|||||||
};
|
};
|
||||||
use clap::{Arg, ArgAction, ArgMatches, Command};
|
use clap::{Arg, ArgAction, ArgMatches, Command};
|
||||||
use option_parser::{ByteSized, ByteSizedParseError};
|
use option_parser::{ByteSized, ByteSizedParseError};
|
||||||
|
use thiserror::Error;
|
||||||
use vmm::config::RestoreConfig;
|
use vmm::config::RestoreConfig;
|
||||||
use vmm::vm_config::{
|
use vmm::vm_config::{
|
||||||
DeviceConfig, DiskConfig, FsConfig, NetConfig, PmemConfig, UserDeviceConfig, VdpaConfig,
|
DeviceConfig, DiskConfig, FsConfig, NetConfig, PmemConfig, UserDeviceConfig, VdpaConfig,
|
||||||
@@ -24,50 +25,41 @@ use zbus::{proxy, zvariant::Optional};
|
|||||||
|
|
||||||
type ApiResult = Result<(), Error>;
|
type ApiResult = Result<(), Error>;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Error, Debug)]
|
||||||
enum Error {
|
enum Error {
|
||||||
HttpApiClient(ApiClientError),
|
#[error("http client error: {0}")]
|
||||||
|
HttpApiClient(#[source] ApiClientError),
|
||||||
#[cfg(feature = "dbus_api")]
|
#[cfg(feature = "dbus_api")]
|
||||||
DBusApiClient(zbus::Error),
|
#[error("dbus api client error: {0}")]
|
||||||
InvalidCpuCount(std::num::ParseIntError),
|
DBusApiClient(#[source] zbus::Error),
|
||||||
InvalidMemorySize(ByteSizedParseError),
|
#[error("Error parsing CPU count: {0}")]
|
||||||
InvalidBalloonSize(ByteSizedParseError),
|
InvalidCpuCount(#[source] std::num::ParseIntError),
|
||||||
AddDeviceConfig(vmm::config::Error),
|
#[error("Error parsing memory size: {0}")]
|
||||||
AddDiskConfig(vmm::config::Error),
|
InvalidMemorySize(#[source] ByteSizedParseError),
|
||||||
AddFsConfig(vmm::config::Error),
|
#[error("Error parsing balloon size: {0}")]
|
||||||
AddPmemConfig(vmm::config::Error),
|
InvalidBalloonSize(#[source] ByteSizedParseError),
|
||||||
AddNetConfig(vmm::config::Error),
|
#[error("Error parsing device syntax: {0}")]
|
||||||
AddUserDeviceConfig(vmm::config::Error),
|
AddDeviceConfig(#[source] vmm::config::Error),
|
||||||
AddVdpaConfig(vmm::config::Error),
|
#[error("Error parsing disk syntax: {0}")]
|
||||||
AddVsockConfig(vmm::config::Error),
|
AddDiskConfig(#[source] vmm::config::Error),
|
||||||
Restore(vmm::config::Error),
|
#[error("Error parsing filesystem syntax: {0}")]
|
||||||
ReadingStdin(std::io::Error),
|
AddFsConfig(#[source] vmm::config::Error),
|
||||||
ReadingFile(std::io::Error),
|
#[error("Error parsing persistent memory syntax: {0}")]
|
||||||
}
|
AddPmemConfig(#[source] vmm::config::Error),
|
||||||
|
#[error("Error parsing network syntax: {0}")]
|
||||||
impl fmt::Display for Error {
|
AddNetConfig(#[source] vmm::config::Error),
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
#[error("Error parsing user device syntax: {0}")]
|
||||||
use Error::*;
|
AddUserDeviceConfig(#[source] vmm::config::Error),
|
||||||
match self {
|
#[error("Error parsing vDPA device syntax: {0}")]
|
||||||
HttpApiClient(e) => e.fmt(f),
|
AddVdpaConfig(#[source] vmm::config::Error),
|
||||||
#[cfg(feature = "dbus_api")]
|
#[error("Error parsing vsock syntax: {0}")]
|
||||||
DBusApiClient(e) => write!(f, "Error D-Bus proxy: {e}"),
|
AddVsockConfig(#[source] vmm::config::Error),
|
||||||
InvalidCpuCount(e) => write!(f, "Error parsing CPU count: {e}"),
|
#[error("Error parsing restore syntax: {0}")]
|
||||||
InvalidMemorySize(e) => write!(f, "Error parsing memory size: {e:?}"),
|
Restore(#[source] vmm::config::Error),
|
||||||
InvalidBalloonSize(e) => write!(f, "Error parsing balloon size: {e:?}"),
|
#[error("Error reading from stdin: {0}")]
|
||||||
AddDeviceConfig(e) => write!(f, "Error parsing device syntax: {e}"),
|
ReadingStdin(#[source] std::io::Error),
|
||||||
AddDiskConfig(e) => write!(f, "Error parsing disk syntax: {e}"),
|
#[error("Error reading from file: {0}")]
|
||||||
AddFsConfig(e) => write!(f, "Error parsing filesystem syntax: {e}"),
|
ReadingFile(#[source] std::io::Error),
|
||||||
AddPmemConfig(e) => write!(f, "Error parsing persistent memory syntax: {e}"),
|
|
||||||
AddNetConfig(e) => write!(f, "Error parsing network syntax: {e}"),
|
|
||||||
AddUserDeviceConfig(e) => write!(f, "Error parsing user device syntax: {e}"),
|
|
||||||
AddVdpaConfig(e) => write!(f, "Error parsing vDPA device syntax: {e}"),
|
|
||||||
AddVsockConfig(e) => write!(f, "Error parsing vsock syntax: {e}"),
|
|
||||||
Restore(e) => write!(f, "Error parsing restore syntax: {e}"),
|
|
||||||
ReadingStdin(e) => write!(f, "Error reading from stdin: {e}"),
|
|
||||||
ReadingFile(e) => write!(f, "Error reading from file: {e}"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum TargetApi<'a> {
|
enum TargetApi<'a> {
|
||||||
|
|||||||
Reference in New Issue
Block a user