Merge pull request #27149 from swernli/servicing_fix
Fixing servicing bug by always specifying LayerFolderPath Upstream-commit: 33ae7d4c195d9096def013fcd4af32df3c2f4606 Component: engine
This commit is contained in:
@ -40,15 +40,15 @@ const defaultOwner = "docker"
|
||||
// Create is the entrypoint to create a container from a spec, and if successfully
|
||||
// created, start it too. Table below shows the fields required for HCS JSON calling parameters,
|
||||
// where if not populated, is omitted.
|
||||
// +-----------------+--------------------------------------------+--------------------------------------------+
|
||||
// | | Isolation=Process | Isolation=Hyper-V |
|
||||
// +-----------------+--------------------------------------------+--------------------------------------------+
|
||||
// | VolumePath | \\?\\Volume{GUIDa} | |
|
||||
// | LayerFolderPath | %root%\windowsfilter\containerID | |
|
||||
// | Layers[] | ID=GUIDb;Path=%root%\windowsfilter\layerID | ID=GUIDb;Path=%root%\windowsfilter\layerID |
|
||||
// | SandboxPath | | %root%\windowsfilter |
|
||||
// | HvRuntime | | ImagePath=%root%\BaseLayerID\UtilityVM |
|
||||
// +-----------------+--------------------------------------------+--------------------------------------------+
|
||||
// +-----------------+--------------------------------------------+---------------------------------------------------+
|
||||
// | | Isolation=Process | Isolation=Hyper-V |
|
||||
// +-----------------+--------------------------------------------+---------------------------------------------------+
|
||||
// | VolumePath | \\?\\Volume{GUIDa} | |
|
||||
// | LayerFolderPath | %root%\windowsfilter\containerID | %root%\windowsfilter\containerID (servicing only) |
|
||||
// | Layers[] | ID=GUIDb;Path=%root%\windowsfilter\layerID | ID=GUIDb;Path=%root%\windowsfilter\layerID |
|
||||
// | SandboxPath | | %root%\windowsfilter |
|
||||
// | HvRuntime | | ImagePath=%root%\BaseLayerID\UtilityVM |
|
||||
// +-----------------+--------------------------------------------+---------------------------------------------------+
|
||||
//
|
||||
// Isolation=Process example:
|
||||
//
|
||||
@ -183,9 +183,10 @@ func (clnt *client) Create(containerID string, checkpoint string, checkpointDir
|
||||
configuration.HvRuntime = &hcsshim.HvRuntime{ImagePath: uvmImagePath}
|
||||
} else {
|
||||
configuration.VolumePath = spec.Root.Path
|
||||
configuration.LayerFolderPath = layerOpt.LayerFolderPath
|
||||
}
|
||||
|
||||
configuration.LayerFolderPath = layerOpt.LayerFolderPath
|
||||
|
||||
for _, layerPath := range layerOpt.LayerPaths {
|
||||
_, filename := filepath.Split(layerPath)
|
||||
g, err := hcsshim.NameToGuid(filename)
|
||||
|
||||
Reference in New Issue
Block a user