From 141fabdd09956658be9645928b3a2f14b0fbd3ea Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Fri, 1 Jun 2018 22:15:23 +0200 Subject: [PATCH] s3: Pass list errors up to the caller --- internal/backend/s3/s3.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/backend/s3/s3.go b/internal/backend/s3/s3.go index 8313e27ce..8cd3456aa 100644 --- a/internal/backend/s3/s3.go +++ b/internal/backend/s3/s3.go @@ -188,6 +188,10 @@ func (be *Backend) ReadDir(dir string) (list []os.FileInfo, err error) { defer close(done) for obj := range be.client.ListObjects(be.cfg.Bucket, dir, false, done) { + if obj.Err != nil { + return nil, err + } + if obj.Key == "" { continue } @@ -424,6 +428,10 @@ func (be *Backend) List(ctx context.Context, t restic.FileType, fn func(restic.F listresp := be.client.ListObjects(be.cfg.Bucket, prefix, recursive, ctx.Done()) for obj := range listresp { + if obj.Err != nil { + return obj.Err + } + m := strings.TrimPrefix(obj.Key, prefix) if m == "" { continue