package lcow
import "github.com/Microsoft/hcsshim/internal/lcow"
Index ¶
- Constants
- func CreateScratch(lcowUVM *uvm.UtilityVM, destFile string, sizeGB uint32, cacheFile string, vmID string) error
- func TarToVhd(lcowUVM *uvm.UtilityVM, targetVHDFile string, reader io.Reader) (int64, error)
- func VhdToTar(lcowUVM *uvm.UtilityVM, vhdFile string, uvmMountPath string, isContainerScratch bool, vhdSize int64) (io.ReadCloser, error)
- type ByteCounts
- type ProcessOptions
- type ProcessParameters
Constants ¶
const ( // DefaultScratchSizeGB is the size of the default LCOW scratch disk in GB DefaultScratchSizeGB = 20 )
Functions ¶
func CreateScratch ¶
func CreateScratch(lcowUVM *uvm.UtilityVM, destFile string, sizeGB uint32, cacheFile string, vmID string) error
CreateScratch uses a utility VM to create an empty scratch disk of a requested size. It has a caching capability. If the cacheFile exists, and the request is for a default size, a copy of that is made to the target. If the size is non-default, or the cache file does not exist, it uses a utility VM to create target. It is the responsibility of the caller to synchronise simultaneous attempts to create the cache file.
func TarToVhd ¶
TarToVhd streams a tarstream contained in an io.Reader to a fixed vhd file
func VhdToTar ¶
func VhdToTar(lcowUVM *uvm.UtilityVM, vhdFile string, uvmMountPath string, isContainerScratch bool, vhdSize int64) (io.ReadCloser, error)
VhdToTar does what is says - it exports a VHD in a specified folder (either a read-only layer.vhd, or a read-write scratch vhdx) to a ReadCloser containing a tar-stream of the layers contents.
Types ¶
type ByteCounts ¶
ByteCounts are the number of bytes copied to/from standard handles. Note this is int64 rather than uint64 to match the golang io.Copy() signature.
func CreateProcess ¶
func CreateProcess(opts *ProcessOptions) (*hcs.Process, *ByteCounts, error)
type ProcessOptions ¶
type ProcessOptions struct { HCSSystem *hcs.System Process *specs.Process Stdin io.Reader // Optional reader for sending on to the processes stdin stream Stdout io.Writer // Optional writer for returning the processes stdout stream Stderr io.Writer // Optional writer for returning the processes stderr stream CopyTimeout time.Duration // Timeout for the copy CreateInUtilityVm bool // If the compute system is a utility VM ByteCounts ByteCounts // How much data to copy on each stream if they are supplied. 0 means to io.EOF. }
ProcessOptions are the set of options which are passed to CreateProcessEx() to create a utility vm.
type ProcessParameters ¶
type ProcessParameters struct { hcsschema.ProcessParameters CreateInUtilityVm bool `json:",omitempty"` OCIProcess interface{} `json:"OciProcess,omitempty"` }
Additional fields to hcsschema.ProcessParameters used by LCOW
Source Files ¶
constants.go debug.go process.go scratch.go tar2vhd.go types.go vhd2tar.go
- Version
- v0.7.1
- Published
- Sep 6, 2018
- Platform
- js/wasm
- Imports
- 16 packages
- Last checked
- 13 minutes ago –
Tools for package owners.