mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-13 16:46:55 +00:00
698ebdfb3f
The StorageError -> DiskError conversion dropped seven variants with exact DiskError counterparts (FaultyRemoteDisk, DiskAccessDenied, DriveIsRoot, IsNotRegular, VolumeNotEmpty, VolumeAccessDenied, FileAccessDenied) into the DiskError::other fallback, degrading them to an opaque Io error. Two of them sit on the quorum ignore-lists in disk/error_reduce.rs, so a degraded instance would stop matching the ignore list and count toward the dominant error in reduce_errs. Also mirror the StorageError-side io::Error downdrill in From<io::Error> for DiskError: recover a StorageError boxed through From<StorageError> for io::Error instead of wrapping it as Io. Add a round-trip identity test over every DiskError variant (DiskError -> StorageError -> DiskError) and a boxed-StorageError recovery test.