posix: return errFaultyDisk on I/O errors. (#1885)

When I/O error is occured more than allowed limit, posix returns
errFaultyDisk.

Fixes #1884
This commit is contained in:
Bala FA
2016-06-09 10:32:10 +05:30
committed by Harshavardhana
parent 1b9db9ee6c
commit 61598ed02f
9 changed files with 132 additions and 27 deletions

View File

@@ -364,7 +364,7 @@ func (xl xlObjects) isMultipartUpload(bucket, prefix string) bool {
_, err := disk.StatFile(bucket, pathJoin(prefix, uploadsJSONFile))
if err != nil {
// For any reason disk was deleted or goes offline, continue
if err == errDiskNotFound {
if err == errDiskNotFound || err == errFaultyDisk {
continue
}
return false
@@ -385,7 +385,7 @@ func (xl xlObjects) listUploadsInfo(prefixPath string) (uploadsInfo []uploadInfo
uploadsJSON, err = readUploadsJSON(splitPrefixes[1], splitPrefixes[2], disk)
if err != nil {
// For any reason disk was deleted or goes offline, continue
if err == errDiskNotFound {
if err == errDiskNotFound || err == errFaultyDisk {
continue
}
if err == errFileNotFound {