mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-19 02:56:18 +00:00
refactor error framework
Signed-off-by: junxiang Mu <1948535941@qq.com>
This commit is contained in:
@@ -16,6 +16,7 @@ use std::{
|
||||
fmt::Debug,
|
||||
};
|
||||
|
||||
use crate::config::error::ConfigError;
|
||||
use tracing::{debug, warn};
|
||||
use uuid::Uuid;
|
||||
|
||||
@@ -330,3 +331,26 @@ impl ErasureError {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
impl ErasureError {
|
||||
pub fn to_u32(&self) -> u32 {
|
||||
match self {
|
||||
ErasureError::ErasureReadQuorum => 0x01,
|
||||
ErasureError::_ErasureWriteQuorum => 0x02,
|
||||
ErasureError::NotFirstDisk => 0x03,
|
||||
ErasureError::FirstDiskWait => 0x04,
|
||||
ErasureError::InvalidPart(_) => 0x05,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn from_u32(error: u32) -> Option<Self> {
|
||||
match error {
|
||||
0x01 => Some(ErasureError::ErasureReadQuorum),
|
||||
0x02 => Some(ErasureError::_ErasureWriteQuorum),
|
||||
0x03 => Some(ErasureError::NotFirstDisk),
|
||||
0x04 => Some(ErasureError::FirstDiskWait),
|
||||
0x05 => Some(ErasureError::InvalidPart(Default::default())),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user