Skip to content

Commit 914c553

Browse files
committed
[s3 cache] Fix upload of downloaded layer
Signed-off-by: Bertrand Paquet <[email protected]>
1 parent c2c70ac commit 914c553

File tree

1 file changed

+5
-2
lines changed
  • cache/remotecache/s3

1 file changed

+5
-2
lines changed

cache/remotecache/s3/s3.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,11 +454,14 @@ func (s3Client *s3Client) getManifest(ctx context.Context, key string, config *v
454454
return true, nil
455455
}
456456

457-
func (s3Client *s3Client) getReader(ctx context.Context, key string) (io.ReadCloser, error) {
457+
func (s3Client *s3Client) getReader(ctx context.Context, key string, offset int64) (io.ReadCloser, error) {
458458
input := &s3.GetObjectInput{
459459
Bucket: &s3Client.bucket,
460460
Key: &key,
461461
}
462+
if offset > 0 {
463+
input.Range = aws.String(fmt.Sprintf("bytes=%d-", offset))
464+
}
462465

463466
output, err := s3Client.GetObject(ctx, input)
464467
if err != nil {
@@ -588,7 +591,7 @@ func (s3Client *s3Client) touch(ctx context.Context, key string, size *int64) (e
588591

589592
func (s3Client *s3Client) ReaderAt(ctx context.Context, desc ocispecs.Descriptor) (content.ReaderAt, error) {
590593
readerAtCloser := toReaderAtCloser(func(offset int64) (io.ReadCloser, error) {
591-
return s3Client.getReader(ctx, s3Client.blobKey(desc.Digest))
594+
return s3Client.getReader(ctx, s3Client.blobKey(desc.Digest), offset)
592595
})
593596
return &readerAt{ReaderAtCloser: readerAtCloser, size: desc.Size}, nil
594597
}

0 commit comments

Comments
 (0)