mirror of
https://github.com/minio/minio.git
synced 2024-12-26 07:05:55 -05:00
skip onlineDisks with parity mismatch (#17478)
This commit is contained in:
parent
65c31fab12
commit
02c2ec3027
@ -691,9 +691,20 @@ func (er erasureObjects) getObjectFileInfo(ctx context.Context, bucket, object s
|
|||||||
missingBlocks++
|
missingBlocks++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if metaArr[i].IsValid() && metaArr[i].ModTime.Equal(modTime) {
|
|
||||||
|
// verify metadata is valid, it has similar erasure info
|
||||||
|
// as well as common modtime, if modtime is not possible
|
||||||
|
// verify if it has common "etag" atleast.
|
||||||
|
if metaArr[i].IsValid() && metaArr[i].Erasure.Equal(fi.Erasure) {
|
||||||
|
ok := metaArr[i].ModTime.Equal(modTime)
|
||||||
|
if modTime.IsZero() || modTime.Equal(timeSentinel) {
|
||||||
|
ok = etag != "" && etag == fi.Metadata["etag"]
|
||||||
|
}
|
||||||
|
if ok {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
} // in all other cases metadata is corrupt, do not read from it.
|
||||||
|
|
||||||
metaArr[i] = FileInfo{}
|
metaArr[i] = FileInfo{}
|
||||||
onlineDisks[i] = nil
|
onlineDisks[i] = nil
|
||||||
missingBlocks++
|
missingBlocks++
|
||||||
|
Loading…
Reference in New Issue
Block a user