mirror of
https://github.com/minio/minio.git
synced 2025-11-25 20:16:10 -05:00
obj: Object api handle all errors in common location. (#1343)
This commit is contained in:
committed by
Harshavardhana
parent
5c33b68318
commit
91588209fa
@@ -16,7 +16,49 @@
|
||||
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
)
|
||||
|
||||
// Converts underlying storage error. Convenience function written to
|
||||
// handle all cases where we have known types of errors returned by
|
||||
// underlying storage layer.
|
||||
func toObjectErr(err error, params ...string) error {
|
||||
switch err {
|
||||
case errVolumeNotFound:
|
||||
if len(params) >= 1 {
|
||||
return BucketNotFound{Bucket: params[0]}
|
||||
}
|
||||
case errVolumeExists:
|
||||
if len(params) >= 1 {
|
||||
return BucketExists{Bucket: params[0]}
|
||||
}
|
||||
case errDiskFull:
|
||||
return StorageFull{}
|
||||
case errReadQuorum:
|
||||
return StorageInsufficientReadResources{}
|
||||
case errWriteQuorum:
|
||||
return StorageInsufficientWriteResources{}
|
||||
case errFileNotFound:
|
||||
if len(params) >= 2 {
|
||||
return ObjectNotFound{
|
||||
Bucket: params[0],
|
||||
Object: params[1],
|
||||
}
|
||||
}
|
||||
case errIsNotRegular:
|
||||
if len(params) >= 2 {
|
||||
return ObjectExistsAsPrefix{
|
||||
Bucket: params[0],
|
||||
Object: params[1],
|
||||
}
|
||||
}
|
||||
case io.ErrUnexpectedEOF, io.ErrShortWrite:
|
||||
return IncompleteBody{}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// StorageFull storage ran out of space
|
||||
type StorageFull struct{}
|
||||
@@ -25,6 +67,20 @@ func (e StorageFull) Error() string {
|
||||
return "Storage reached its minimum free disk threshold."
|
||||
}
|
||||
|
||||
// StorageInsufficientReadResources storage cannot satisfy quorum for read operation.
|
||||
type StorageInsufficientReadResources struct{}
|
||||
|
||||
func (e StorageInsufficientReadResources) Error() string {
|
||||
return "Storage resources are insufficient for the read operation."
|
||||
}
|
||||
|
||||
// StorageInsufficientWriteResources storage cannot satisfy quorum for write operation.
|
||||
type StorageInsufficientWriteResources struct{}
|
||||
|
||||
func (e StorageInsufficientWriteResources) Error() string {
|
||||
return "Stroage resources are insufficient for the write operation."
|
||||
}
|
||||
|
||||
// GenericError - generic object layer error.
|
||||
type GenericError struct {
|
||||
Bucket string
|
||||
|
||||
Reference in New Issue
Block a user