blown_fuse/
error.rs

1use thiserror::Error;
2
3pub type FuseResult<T> = Result<T, FuseError>;
4
5#[derive(Debug, Error)]
6#[non_exhaustive]
7pub enum FuseError {
8    #[error("I/O error")]
9    Io(#[from] std::io::Error),
10
11    #[error("fuse handshake failed (ancient kernel?)")]
12    ProtocolInit,
13
14    #[error("fuse request truncated")]
15    Truncated,
16
17    #[error("unknown fuse operation")]
18    BadOpcode,
19
20    #[error("bad length in fuse request")]
21    BadLength,
22
23    #[error("fuse reply was trimmed on write()")]
24    ShortWrite,
25}
26
27#[derive(Debug, Error)]
28#[non_exhaustive]
29pub enum MountError {
30    #[error("I/O error during mount")]
31    Io(#[from] std::io::Error),
32
33    #[error("fusermount failed")]
34    Fusermount,
35}