package layers
import "github.com/Microsoft/hcsshim/internal/layers"
Package layers deals with container layer mounting/unmounting for LCOW and WCOW
Index ¶
- Constants
- func GetHCSLayers(ctx context.Context, vm *uvm.UtilityVM, paths []string) (layers []hcsschema.Layer, err error)
- func MountContainerLayers(ctx context.Context, containerID string, layerFolders []string, guestRoot string, volumeMountPath string, vm *uvm.UtilityVM) (_ string, err error)
- func UnmountContainerLayers(ctx context.Context, layerFolders []string, containerRootPath, volumeMountPath string, vm *uvm.UtilityVM, op UnmountOperation) error
- type ImageLayers
- func NewImageLayers(vm *uvm.UtilityVM, containerRootInUVM string, layers []string, volumeMountPath string, skipCleanup bool) *ImageLayers
- func (layers *ImageLayers) Release(ctx context.Context, all bool) error
- type UnmountOperation
Constants ¶
const ( UnmountOperationSCSI UnmountOperation = 0x01 UnmountOperationVSMB = 0x02 UnmountOperationVPMEM = 0x04 UnmountOperationAll = UnmountOperationSCSI | UnmountOperationVSMB | UnmountOperationVPMEM )
Functions ¶
func GetHCSLayers ¶
func GetHCSLayers(ctx context.Context, vm *uvm.UtilityVM, paths []string) (layers []hcsschema.Layer, err error)
GetHCSLayers converts host paths corresponding to container layers into HCS schema V2 layers
func MountContainerLayers ¶
func MountContainerLayers(ctx context.Context, containerID string, layerFolders []string, guestRoot string, volumeMountPath string, vm *uvm.UtilityVM) (_ string, err error)
func UnmountContainerLayers ¶
func UnmountContainerLayers(ctx context.Context, layerFolders []string, containerRootPath, volumeMountPath string, vm *uvm.UtilityVM, op UnmountOperation) error
UnmountContainerLayers is a helper for clients to hide all the complexity of layer unmounting
Types ¶
type ImageLayers ¶
type ImageLayers struct {
// contains filtered or unexported fields
}
ImageLayers contains all the layers for an image.
func NewImageLayers ¶
func NewImageLayers(vm *uvm.UtilityVM, containerRootInUVM string, layers []string, volumeMountPath string, skipCleanup bool) *ImageLayers
func (*ImageLayers) Release ¶
func (layers *ImageLayers) Release(ctx context.Context, all bool) error
Release unmounts all of the layers located in the layers array.
type UnmountOperation ¶
type UnmountOperation uint
UnmountOperation is used when calling Unmount() to determine what type of unmount is required. In V1 schema, this must be unmountOperationAll. In V2, client can be more optimal and only unmount what they need which can be a minor performance improvement (eg if you know only one container is running in a utility VM, and the UVM is about to be torn down, there's no need to unmount the VSMB shares, just SCSI to have a consistent file system).
Source Files ¶
- Version
- v0.9.4
- Published
- Jul 22, 2022
- Platform
- windows/amd64
- Imports
- 14 packages
- Last checked
- 2 minutes ago –
Tools for package owners.