mirror of
https://github.com/minio/minio.git
synced 2025-07-08 16:42:17 -04:00
fix: heal rejects objects with disk re-ordering issue (#10766)
This commit is contained in:
parent
c49a80db41
commit
592f2f23a3
@ -221,6 +221,17 @@ func (er erasureObjects) healObject(ctx context.Context, bucket string, object s
|
|||||||
partsMetadata []FileInfo, errs []error, latestFileInfo FileInfo,
|
partsMetadata []FileInfo, errs []error, latestFileInfo FileInfo,
|
||||||
dryRun bool, remove bool, scanMode madmin.HealScanMode) (result madmin.HealResultItem, err error) {
|
dryRun bool, remove bool, scanMode madmin.HealScanMode) (result madmin.HealResultItem, err error) {
|
||||||
|
|
||||||
|
for i, metadata := range shufflePartsMetadata(partsMetadata, latestFileInfo.Erasure.Distribution) {
|
||||||
|
if !metadata.IsValid() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if i != metadata.Erasure.Index-1 {
|
||||||
|
// FIXME: fix in the next release for objects which erasure.Index does not match
|
||||||
|
// with expected distribution.
|
||||||
|
return result, fmt.Errorf("Unable to heal object %s, disk ordering issue detected", pathJoin(bucket, object))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dataBlocks := latestFileInfo.Erasure.DataBlocks
|
dataBlocks := latestFileInfo.Erasure.DataBlocks
|
||||||
|
|
||||||
storageDisks := er.getDisks()
|
storageDisks := er.getDisks()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user