fix: crash in metrics handler when some disks are offline (#9450)

Fixes #9449
master
Harshavardhana 5 years ago committed by GitHub
parent 4843affd0e
commit 6ecc98fddb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      cmd/xl-v1.go

@ -175,20 +175,21 @@ func getStorageInfo(disks []StorageAPI, endpoints Endpoints) StorageInfo {
// StorageInfo - returns underlying storage statistics.
func (xl xlObjects) StorageInfo(ctx context.Context, local bool) StorageInfo {
var endpoints = xl.endpoints
var disks []StorageAPI
if !local {
disks = xl.getDisks()
} else {
for i, d := range xl.getDisks() {
if endpoints[i].IsLocal && d.Hostname() == "" {
// Append this local disk since local flag is true
disks = append(disks, d)
disks := xl.getDisks()
if local {
var localDisks []StorageAPI
for i, disk := range disks {
if disk != nil {
if xl.endpoints[i].IsLocal && disk.Hostname() == "" {
// Append this local disk since local flag is true
localDisks = append(localDisks, disk)
}
}
}
disks = localDisks
}
return getStorageInfo(disks, endpoints)
return getStorageInfo(disks, xl.endpoints)
}
// GetMetrics - is not implemented and shouldn't be called.

Loading…
Cancel
Save