Skip to main content

Error

Enum Error 

Source
pub enum Error {
Show 20 variants ConfigureSystem(Error), CreateLegacyDevice(Error), EventFd(Error), EventManager(Error), I8042Error(I8042DeviceError), KernelFile(Error), KvmContext(Error), LegacyIOBus(Error), LoadCommandline(Error), RegisterMMIODevice(Error), Serial(Error), TimerFd(Error), Vcpu(Error), VcpuEvent(Error), VcpuHandle(Error), VcpuResume, VcpuSpawn(Error), Vm(Error), VmmObserverInit(Error), VmmObserverTeardown(Error),
}
Expand description

Errors associated with the VMM internal logic. These errors cannot be generated by direct user input, but can result from bad configuration of the host (for example if Firecracker doesn’t have permissions to open the KVM fd).

Variants§

§

ConfigureSystem(Error)

This error is thrown by the minimal boot loader implementation.

§

CreateLegacyDevice(Error)

Legacy devices work with Event file descriptors and the creation can fail because of resource exhaustion.

§

EventFd(Error)

Cannot read from an Event file descriptor.

§

EventManager(Error)

Polly error wrapper.

§

I8042Error(I8042DeviceError)

I8042 Error.

§

KernelFile(Error)

Cannot access kernel file.

§

KvmContext(Error)

Cannot open /dev/kvm. Either the host does not have KVM or Firecracker does not have permission to open the file descriptor.

§

LegacyIOBus(Error)

Cannot add devices to the Legacy I/O Bus.

§

LoadCommandline(Error)

Cannot load command line.

§

RegisterMMIODevice(Error)

Cannot add a device to the MMIO Bus.

§

Serial(Error)

Write to the serial console failed.

§

TimerFd(Error)

Cannot create Timer file descriptor.

§

Vcpu(Error)

Vcpu error.

§

VcpuEvent(Error)

Cannot send event to vCPU.

§

VcpuHandle(Error)

Cannot create a vCPU handle.

§

VcpuResume

vCPU resume failed.

§

VcpuSpawn(Error)

Cannot spawn a new Vcpu thread.

§

Vm(Error)

Vm error.

§

VmmObserverInit(Error)

Error thrown by observer object on Vmm initialization.

§

VmmObserverTeardown(Error)

Error thrown by observer object on Vmm teardown.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl !UnwindSafe for Error

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsAny for T
where T: Any,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V