From 74f7cf24aec59f177e376e7a2e66916d845565cd Mon Sep 17 00:00:00 2001 From: Steven Reitsma Date: Fri, 6 Nov 2020 00:04:03 +0100 Subject: [PATCH] fix: s3 gateway SSE pagination (#10840) Fixes #10838 --- cmd/gateway/s3/gateway-s3-sse.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cmd/gateway/s3/gateway-s3-sse.go b/cmd/gateway/s3/gateway-s3-sse.go index a65ab110c..d93122bcd 100644 --- a/cmd/gateway/s3/gateway-s3-sse.go +++ b/cmd/gateway/s3/gateway-s3-sse.go @@ -65,8 +65,8 @@ type s3EncObjects struct { // ListObjects lists all blobs in S3 bucket filtered by prefix func (l *s3EncObjects) ListObjects(ctx context.Context, bucket string, prefix string, marker string, delimiter string, maxKeys int) (loi minio.ListObjectsInfo, e error) { - var continuationToken, startAfter string - res, err := l.ListObjectsV2(ctx, bucket, prefix, continuationToken, delimiter, maxKeys, false, startAfter) + var startAfter string + res, err := l.ListObjectsV2(ctx, bucket, prefix, marker, delimiter, maxKeys, false, startAfter) if err != nil { return loi, err } @@ -91,10 +91,12 @@ func (l *s3EncObjects) ListObjectsV2(ctx context.Context, bucket, prefix, contin if e != nil { return loi, minio.ErrorRespToObjectError(e, bucket) } + + continuationToken = loi.NextContinuationToken + isTruncated = loi.IsTruncated + for _, obj := range loi.Objects { startAfter = obj.Name - continuationToken = loi.NextContinuationToken - isTruncated = loi.IsTruncated if !isGWObject(obj.Name) { continue