aboutsummaryrefslogtreecommitdiffstats
path: root/zone_zfs/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'zone_zfs/src/error.rs')
-rw-r--r--zone_zfs/src/error.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/zone_zfs/src/error.rs b/zone_zfs/src/error.rs
new file mode 100644
index 0000000..0275384
--- /dev/null
+++ b/zone_zfs/src/error.rs
@@ -0,0 +1,20 @@
+pub type Result<T> = std::result::Result<T, Error>;
+
+#[allow(clippy::large_enum_variant)]
+#[derive(thiserror::Error, Debug)]
+pub enum Error {
+ #[error("ZFS error")]
+ ZFS(String),
+
+ #[error("Snapshot Error: {0:?}")]
+ Snapshot(String),
+
+ #[error("File System Error: {0:?}")]
+ FileSystem(String),
+
+ #[error("IO Error: Failed to run command")]
+ IO(#[from] std::io::Error),
+
+ #[error("Config Error: {0:?}")]
+ Config(#[from] figment::Error),
+}