123456789101112131415161718192021222324252627282930313233343536 |
- //go:build windows
- package wclayer
- import (
- "context"
- "strings"
- "github.com/Microsoft/hcsshim/internal/hcserror"
- "github.com/Microsoft/hcsshim/internal/oc"
- "go.opencensus.io/trace"
- )
- // CreateScratchLayer creates and populates new read-write layer for use by a container.
- // This requires the full list of paths to all parent layers up to the base
- func CreateScratchLayer(ctx context.Context, path string, parentLayerPaths []string) (err error) {
- title := "hcsshim::CreateScratchLayer"
- ctx, span := oc.StartSpan(ctx, title)
- defer span.End()
- defer func() { oc.SetSpanStatus(span, err) }()
- span.AddAttributes(
- trace.StringAttribute("path", path),
- trace.StringAttribute("parentLayerPaths", strings.Join(parentLayerPaths, ", ")))
- // Generate layer descriptors
- layers, err := layerPathsToDescriptors(ctx, parentLayerPaths)
- if err != nil {
- return err
- }
- err = createSandboxLayer(&stdDriverInfo, path, 0, layers)
- if err != nil {
- return hcserror.New(err, title, "")
- }
- return nil
- }
|