From d45a1808f25e1414df18cdc4a14866ee49882f10 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Wed, 18 Mar 2020 20:56:07 -0700 Subject: [PATCH] fix: Walk() should require quorum number of disks only (#9164) --- cmd/xl-sets.go | 7 +++---- cmd/xl-zones.go | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/cmd/xl-sets.go b/cmd/xl-sets.go index cdab6a565..1c793e7a9 100644 --- a/cmd/xl-sets.go +++ b/cmd/xl-sets.go @@ -1642,11 +1642,10 @@ func (s *xlSets) Walk(ctx context.Context, bucket, prefix string, results chan<- return } - if quorumCount != s.drivesPerSet { - return + if quorumCount >= s.drivesPerSet/2 { + results <- entry.ToObjectInfo() // Read quorum exists proceed } - - results <- entry.ToObjectInfo() + // skip entries which do not have quorum } }() diff --git a/cmd/xl-zones.go b/cmd/xl-zones.go index b6a35ecd1..2370d73fd 100644 --- a/cmd/xl-zones.go +++ b/cmd/xl-zones.go @@ -1394,11 +1394,11 @@ func (z *xlZones) Walk(ctx context.Context, bucket, prefix string, results chan< return } - if quorumCount != zoneDrivesPerSet[zoneIndex] { - continue + if quorumCount >= zoneDrivesPerSet[zoneIndex]/2 { + results <- entry.ToObjectInfo() // Read quorum exists proceed } - results <- entry.ToObjectInfo() + // skip entries which do not have quorum } }()