Vndr latest containers/image

Containers image has a fix docker tarfile: use the cached digest if existing

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #1482
Approved by: rhatdan
This commit is contained in:
Daniel J Walsh
2018-09-14 03:33:25 -04:00
committed by Atomic Bot
parent 81df604bdb
commit 70189f0223
2 changed files with 5 additions and 4 deletions

View File

@ -10,7 +10,7 @@ github.com/containerd/cgroups 58556f5ad8448d99a6f7bea69ea4bdb7747cfeb0
github.com/containerd/continuity master
github.com/containernetworking/cni v0.7.0-alpha1
github.com/containernetworking/plugins 1562a1e60ed101aacc5e08ed9dbeba8e9f3d4ec1
github.com/containers/image d8b5cf2b804a48489e5203d51254ef576794049d
github.com/containers/image 85d7559d44fd71f30e46e43d809bfbf88d11d916
github.com/containers/storage 243c4cd616afdf06b4a975f18c4db083d26b1641
github.com/containers/psgo 5dde6da0bc8831b35243a847625bcf18183bd1ee
github.com/coreos/go-systemd v14

View File

@ -533,20 +533,21 @@ func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo) (t
if err != nil {
return types.BlobInfo{}, "", err
}
var diffIDResult diffIDResult // = {digest:""}
if diffIDIsNeeded {
select {
case <-ctx.Done():
return types.BlobInfo{}, "", ctx.Err()
case diffIDResult = <-diffIDChan:
case diffIDResult := <-diffIDChan:
if diffIDResult.err != nil {
return types.BlobInfo{}, "", errors.Wrap(diffIDResult.err, "Error computing layer DiffID")
}
logrus.Debugf("Computed DiffID %s for layer %s", diffIDResult.digest, srcInfo.Digest)
ic.c.cachedDiffIDs[srcInfo.Digest] = diffIDResult.digest
return blobInfo, diffIDResult.digest, nil
}
} else {
return blobInfo, ic.c.cachedDiffIDs[srcInfo.Digest], nil
}
return blobInfo, diffIDResult.digest, nil
}
// copyLayerFromStream is an implementation detail of copyLayer; mostly providing a separate “defer” scope.