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 } }()