1use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum KernelError {
7 #[error("vm error: {0}")]
8 Vm(#[from] javm::VmError),
9 #[error("cap-table operation failed: {0}")]
10 Cap(#[from] javm_cap::CapError),
11 #[error("mgmt op failed: {0}")]
12 Op(#[from] javm_cap::OpError),
13 #[error("cache error: {0}")]
14 CacheDirectory(#[from] javm_cap::CacheError),
15 #[error("image conversion failed: {0}")]
16 ImageConvert(#[from] javm_cap::ImageConvertError),
17 #[error("file_id {0} not found in cache")]
18 FileNotFound(u64),
19 #[error(
20 "storage quota exhausted (quota_id {0}): tried to write {1} bytes, only {2} available)"
21 )]
22 StorageExhausted(u64, u64, u64),
23 #[error("invariant violated: {0}")]
24 Invariant(&'static str),
25 #[error("blob format error: {0}")]
26 BlobFormat(&'static str),
27}