From d7520f0ae66d0be96d777caf75c033e3bd524e24 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 29 Feb 2024 08:37:57 -0800 Subject: [PATCH] fix: make sure maintenance=true is honored properly (#19156) fixes a regression from #18700 --- cmd/erasure-server-pool.go | 4 ++++ cmd/erasure.go | 1 + go.mod | 2 +- go.sum | 6 ++---- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/cmd/erasure-server-pool.go b/cmd/erasure-server-pool.go index f55d2c9e6..dd7b06cf1 100644 --- a/cmd/erasure-server-pool.go +++ b/cmd/erasure-server-pool.go @@ -2322,6 +2322,10 @@ func (z *erasureServerPools) Health(ctx context.Context, opts HealthOptions) Hea storageInfo := z.StorageInfo(ctx, false) for _, disk := range storageInfo.Disks { + if disk.Local && opts.Maintenance { + continue + } + if disk.PoolIndex > -1 && disk.SetIndex > -1 { if disk.State == madmin.DriveStateOk { si := erasureSetUpCount[disk.PoolIndex][disk.SetIndex] diff --git a/cmd/erasure.go b/cmd/erasure.go index 1f7ce7493..94ddb2f63 100644 --- a/cmd/erasure.go +++ b/cmd/erasure.go @@ -176,6 +176,7 @@ func getDisksInfo(disks []StorageAPI, endpoints []Endpoint, metrics bool) (disks PoolIndex: endpoints[index].PoolIdx, SetIndex: endpoints[index].SetIdx, DiskIndex: endpoints[index].DiskIdx, + Local: endpoints[index].IsLocal, } if disks[index] == OfflineDisk { di.State = diskErrToDriveState(errDiskNotFound) diff --git a/go.mod b/go.mod index 87bb8c521..b3e59f895 100644 --- a/go.mod +++ b/go.mod @@ -51,7 +51,7 @@ require ( github.com/minio/dperf v0.5.3 github.com/minio/highwayhash v1.0.2 github.com/minio/kes-go v0.2.1 - github.com/minio/madmin-go/v3 v3.0.49-0.20240227160700-e447ce8f33b9 + github.com/minio/madmin-go/v3 v3.0.49 github.com/minio/minio-go/v7 v7.0.67 github.com/minio/mux v1.9.0 github.com/minio/pkg/v2 v2.0.9-0.20240209124402-7990a27fd79d diff --git a/go.sum b/go.sum index d5cdaa90b..92a2ff09d 100644 --- a/go.sum +++ b/go.sum @@ -446,10 +446,8 @@ github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/minio/kes-go v0.2.1 h1:KnqS+p6xoSFJZbQhmJaz/PbxeA6nQyRqT/ywrn5lU2o= github.com/minio/kes-go v0.2.1/go.mod h1:76xf7l41Wrh+IifisABXK2S8uZWYgWV1IGBKC3GdOJk= -github.com/minio/madmin-go/v3 v3.0.46 h1:DabFt+aUph5Vu/SOat2RWN/xVagPBU7qzxhAQ03hH/k= -github.com/minio/madmin-go/v3 v3.0.46/go.mod h1:ZDF7kf5fhmxLhbGTqyq5efs4ao0v4eWf7nOuef/ljJs= -github.com/minio/madmin-go/v3 v3.0.49-0.20240227160700-e447ce8f33b9 h1:41H6CW/YJ0KbbxtL4DJUumxr696Mv9QYRXxptPW0xZc= -github.com/minio/madmin-go/v3 v3.0.49-0.20240227160700-e447ce8f33b9/go.mod h1:ZDF7kf5fhmxLhbGTqyq5efs4ao0v4eWf7nOuef/ljJs= +github.com/minio/madmin-go/v3 v3.0.49 h1:Ag5eyYUf9K1MvW9hiErEJhGfqlf//pOtlhdoepb9AwY= +github.com/minio/madmin-go/v3 v3.0.49/go.mod h1:ZDF7kf5fhmxLhbGTqyq5efs4ao0v4eWf7nOuef/ljJs= github.com/minio/mc v0.0.0-20240209221824-669cb0a9a475 h1:yfLzMougcV2xkVlWgwYwVRoT8pnXrcCV4oOQW+pI2EQ= github.com/minio/mc v0.0.0-20240209221824-669cb0a9a475/go.mod h1:MmDLdb7NWd/OYhcKcXKvwErq2GNa/Zq6xtTWuhdC4II= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=