Fix nil disks in getOnlineDisksWithHealing (#11419)

If a disk is skipped when nil it is still returned.
This commit is contained in:
Klaus Post 2021-02-02 17:04:37 -08:00 committed by GitHub
parent f2d49ec21a
commit a71e0483c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -238,6 +238,7 @@ func (er erasureObjects) getOnlineDisksWithHealing() (newDisks []StorageAPI, hea
disk := disks[i-1]
if disk == nil {
infos[i-1].Error = "nil disk"
return
}
@ -248,6 +249,7 @@ func (er erasureObjects) getOnlineDisksWithHealing() (newDisks []StorageAPI, hea
//
//
// - Future: skip busy disks
infos[i-1].Error = err.Error()
return
}
@ -260,7 +262,7 @@ func (er erasureObjects) getOnlineDisksWithHealing() (newDisks []StorageAPI, hea
// Check if one of the drives in the set is being healed.
// this information is used by crawler to skip healing
// this erasure set while it calculates the usage.
if info.Healing {
if info.Healing || info.Error != "" {
healing = true
continue
}