mirror of
https://github.com/minio/minio.git
synced 2025-11-07 12:52:58 -05:00
check for errors on bitrotWriter Close() (#20982)
This commit is contained in:
@@ -608,7 +608,7 @@ func (er *erasureObjects) healObject(ctx context.Context, bucket string, object
|
||||
// later to the final location.
|
||||
err = erasure.Heal(ctx, writers, readers, partSize, prefer)
|
||||
closeBitrotReaders(readers)
|
||||
closeBitrotWriters(writers)
|
||||
closeErrs := closeBitrotWriters(writers)
|
||||
if err != nil {
|
||||
return result, err
|
||||
}
|
||||
@@ -628,6 +628,13 @@ func (er *erasureObjects) healObject(ctx context.Context, bucket string, object
|
||||
continue
|
||||
}
|
||||
|
||||
// A non-nil stale disk which got error on Close()
|
||||
if closeErrs[i] != nil {
|
||||
outDatedDisks[i] = nil
|
||||
disksToHealCount--
|
||||
continue
|
||||
}
|
||||
|
||||
partsMetadata[i].DataDir = dstDataDir
|
||||
partsMetadata[i].AddObjectPart(partNumber, "", partSize, partActualSize, partModTime, partIdx, partChecksums)
|
||||
if len(inlineBuffers) > 0 && inlineBuffers[i] != nil {
|
||||
|
||||
Reference in New Issue
Block a user