Skip to content

Commit 75b4395

Browse files
authored
Merge pull request moby#3580 from tonistiigi/inline-cache-blobindex
inline cache: fix blob indexes by uncompressed digest
2 parents 177d8cc + 39ff1c0 commit 75b4395

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

cache/remotecache/inline/inline.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,20 @@ func (ce *exporter) ExportForLayers(ctx context.Context, layers []digest.Digest)
5656
return nil, err
5757
}
5858

59+
layerBlobDigests := make([]digest.Digest, len(layers))
60+
5961
descs2 := map[digest.Digest]v1.DescriptorProviderPair{}
60-
for _, k := range layers {
62+
for i, k := range layers {
6163
if v, ok := descs[k]; ok {
6264
descs2[k] = v
65+
layerBlobDigests[i] = k
6366
continue
6467
}
6568
// fallback for uncompressed digests
6669
for _, v := range descs {
6770
if uc := v.Descriptor.Annotations["containerd.io/uncompressed"]; uc == string(k) {
6871
descs2[v.Descriptor.Digest] = v
72+
layerBlobDigests[i] = v.Descriptor.Digest
6973
}
7074
}
7175
}
@@ -87,7 +91,7 @@ func (ce *exporter) ExportForLayers(ctx context.Context, layers []digest.Digest)
8791

8892
// reorder layers based on the order in the image
8993
blobIndexes := make(map[digest.Digest]int, len(layers))
90-
for i, blob := range layers {
94+
for i, blob := range layerBlobDigests {
9195
blobIndexes[blob] = i
9296
}
9397

0 commit comments

Comments
 (0)