Windows: Revendor Microsoft/hcsshim
This change supports the importing of layers that contain utility VM images. This is necessary to support Hyper-V containers running on a non-centrally-managed image. Signed-off-by: John Starks <jostarks@microsoft.com>
This commit is contained in:
parent
577adcc1ee
commit
15b0f06a9a
2 changed files with 17 additions and 5 deletions
|
@ -7,7 +7,7 @@ source 'hack/.vendor-helpers.sh'
|
||||||
|
|
||||||
# the following lines are in sorted order, FYI
|
# the following lines are in sorted order, FYI
|
||||||
clone git github.com/Azure/go-ansiterm 70b2c90b260171e829f1ebd7c17f600c11858dbe
|
clone git github.com/Azure/go-ansiterm 70b2c90b260171e829f1ebd7c17f600c11858dbe
|
||||||
clone git github.com/Microsoft/hcsshim v0.2.0
|
clone git github.com/Microsoft/hcsshim v0.2.1
|
||||||
clone git github.com/Microsoft/go-winio v0.3.0
|
clone git github.com/Microsoft/go-winio v0.3.0
|
||||||
clone git github.com/Sirupsen/logrus v0.9.0 # logrus is a common dependency among multiple deps
|
clone git github.com/Sirupsen/logrus v0.9.0 # logrus is a common dependency among multiple deps
|
||||||
clone git github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a
|
clone git github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a
|
||||||
|
|
|
@ -10,10 +10,11 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type baseLayerWriter struct {
|
type baseLayerWriter struct {
|
||||||
root string
|
root string
|
||||||
f *os.File
|
f *os.File
|
||||||
bw *winio.BackupFileWriter
|
bw *winio.BackupFileWriter
|
||||||
err error
|
err error
|
||||||
|
hasUtilityVM bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *baseLayerWriter) closeCurrentFile() error {
|
func (w *baseLayerWriter) closeCurrentFile() error {
|
||||||
|
@ -44,6 +45,10 @@ func (w *baseLayerWriter) Add(name string, fileInfo *winio.FileBasicInfo) (err e
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if filepath.ToSlash(name) == `UtilityVM/Files` {
|
||||||
|
w.hasUtilityVM = true
|
||||||
|
}
|
||||||
|
|
||||||
path := filepath.Join(w.root, name)
|
path := filepath.Join(w.root, name)
|
||||||
path, err = makeLongAbsPath(path)
|
path, err = makeLongAbsPath(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -139,6 +144,13 @@ func (w *baseLayerWriter) Close() error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if w.hasUtilityVM {
|
||||||
|
err = ProcessUtilityVMImage(filepath.Join(w.root, "UtilityVM"))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return w.err
|
return w.err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue