mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
images: assurance and debug info on image layers
when pushing or saving layers, report sizes for validation. And ensure that the files written are sync'ed. Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
This commit is contained in:
parent
47470d299d
commit
367a679b92
2 changed files with 12 additions and 2 deletions
|
@ -617,6 +617,9 @@ func NewTempArchive(src Archive, dir string) (*TempArchive, error) {
|
||||||
if _, err := io.Copy(f, src); err != nil {
|
if _, err := io.Copy(f, src); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if err = f.Sync(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
if _, err := f.Seek(0, 0); err != nil {
|
if _, err := f.Seek(0, 0); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -378,10 +378,15 @@ func (srv *Server) exportImage(img *image.Image, tempdir string) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if _, err = io.Copy(fsTar, fs); err != nil {
|
if written, err := io.Copy(fsTar, fs); err != nil {
|
||||||
|
return err
|
||||||
|
} else {
|
||||||
|
utils.Debugf("rendered layer for %s of [%d] size", i.ID, written)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = fsTar.Close(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fsTar.Close()
|
|
||||||
|
|
||||||
// find parent
|
// find parent
|
||||||
if i.Parent != "" {
|
if i.Parent != "" {
|
||||||
|
@ -1537,6 +1542,8 @@ func (srv *Server) pushImage(r *registry.Registry, out io.Writer, remote, imgID,
|
||||||
defer os.RemoveAll(layerData.Name())
|
defer os.RemoveAll(layerData.Name())
|
||||||
|
|
||||||
// Send the layer
|
// Send the layer
|
||||||
|
utils.Debugf("rendered layer for %s of [%d] size", imgData.ID, layerData.Size)
|
||||||
|
|
||||||
checksum, checksumPayload, err := r.PushImageLayerRegistry(imgData.ID, utils.ProgressReader(layerData, int(layerData.Size), out, sf, false, utils.TruncateID(imgData.ID), "Pushing"), ep, token, jsonRaw)
|
checksum, checksumPayload, err := r.PushImageLayerRegistry(imgData.ID, utils.ProgressReader(layerData, int(layerData.Size), out, sf, false, utils.TruncateID(imgData.ID), "Pushing"), ep, token, jsonRaw)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
|
Loading…
Add table
Reference in a new issue