mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Add support for partial load
Missing layers in tar will not cause an error if layers are already loaded before. Fixes #18723 Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
parent
2180dd6cf0
commit
f946782316
1 changed files with 7 additions and 2 deletions
|
@ -73,9 +73,14 @@ func (l *tarexporter) Load(inTar io.ReadCloser, outStream io.Writer) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
newLayer, err := l.loadLayer(layerPath, rootFS)
|
r := rootFS
|
||||||
|
r.Append(diffID)
|
||||||
|
newLayer, err := l.ls.Get(r.ChainID())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
newLayer, err = l.loadLayer(layerPath, rootFS)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
defer layer.ReleaseAndLog(l.ls, newLayer)
|
defer layer.ReleaseAndLog(l.ls, newLayer)
|
||||||
if expected, actual := diffID, newLayer.DiffID(); expected != actual {
|
if expected, actual := diffID, newLayer.DiffID(); expected != actual {
|
||||||
|
|
Loading…
Add table
Reference in a new issue