mirror of
https://github.com/moby/buildkit.git
synced 2026-08-07 08:10:44 +00:00
fix setting uncompressed label on content
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
2
cache/blobs/blobs.go
vendored
2
cache/blobs/blobs.go
vendored
@@ -115,7 +115,7 @@ func getDiffPairs(ctx context.Context, contentStore content.Store, snapshotter s
|
||||
}
|
||||
diffIDStr, ok := info.Labels[containerdUncompressed]
|
||||
if !ok {
|
||||
return nil, errors.Errorf("invalid differ response with no diffID")
|
||||
return nil, errors.Errorf("invalid differ response with no diffID: %v", descr.Digest)
|
||||
}
|
||||
diffIDDigest, err := digest.Parse(diffIDStr)
|
||||
if err != nil {
|
||||
|
||||
@@ -107,10 +107,21 @@ func (s *Snapshotter) GetBlob(ctx context.Context, key string) (digest.Digest, d
|
||||
// Checks that there is a blob in the content store.
|
||||
// If same blob has already been set then this is a noop.
|
||||
func (s *Snapshotter) SetBlob(ctx context.Context, key string, diffID, blobsum digest.Digest) error {
|
||||
_, err := s.opt.Content.Info(ctx, blobsum)
|
||||
info, err := s.opt.Content.Info(ctx, blobsum)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, ok := info.Labels["containerd.io/uncompressed"]; !ok {
|
||||
labels := map[string]string{
|
||||
"containerd.io/uncompressed": diffID.String(),
|
||||
}
|
||||
if _, err := s.opt.Content.Update(ctx, content.Info{
|
||||
Digest: blobsum,
|
||||
Labels: labels,
|
||||
}, "labels.containerd.io/uncompressed"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
md, _ := s.opt.MetadataStore.Get(key)
|
||||
|
||||
v, err := metadata.NewValue(DiffPair{DiffID: diffID, Blobsum: blobsum})
|
||||
|
||||
@@ -241,8 +241,7 @@ func unpack(ctx context.Context, desc ocispec.Descriptor, cs content.Store, csh
|
||||
var chain []digest.Digest
|
||||
for _, layer := range layers {
|
||||
labels := map[string]string{
|
||||
"containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339Nano),
|
||||
"containerd.io/uncompressed": layer.Diff.Digest.String(),
|
||||
"containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339Nano),
|
||||
}
|
||||
if _, err := rootfs.ApplyLayer(ctx, layer, chain, csh, applier, ctdsnapshot.WithLabels(labels)); err != nil {
|
||||
return "", err
|
||||
|
||||
@@ -388,10 +388,7 @@ func (w *Worker) unpack(ctx context.Context, descs []ocispec.Descriptor, s cdsna
|
||||
|
||||
var chain []digest.Digest
|
||||
for _, layer := range layers {
|
||||
labels := map[string]string{
|
||||
"containerd.io/uncompressed": layer.Diff.Digest.String(),
|
||||
}
|
||||
if _, err := rootfs.ApplyLayer(ctx, layer, chain, s, w.Applier, cdsnapshot.WithLabels(labels)); err != nil {
|
||||
if _, err := rootfs.ApplyLayer(ctx, layer, chain, s, w.Applier); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
chain = append(chain, layer.Diff.Digest)
|
||||
|
||||
Reference in New Issue
Block a user