save

package
v0.15.0-rc.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_Microsoft_hcsshim_internal_controller_device_scsi_save_payload_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type DiskConfig

type DiskConfig struct {

	// host_path is the path to the disk on the host.
	HostPath string `protobuf:"bytes,1,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"`
	// read_only attaches the disk read-only.
	ReadOnly bool `protobuf:"varint,2,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	// type is the disk kind: "VirtualDisk", "PassThru" or
	// "ExtensibleVirtualDisk".
	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	// evd_type is the extensible-virtual-disk provider name. Only meaningful
	// when type == "ExtensibleVirtualDisk".
	EvdType string `protobuf:"bytes,4,opt,name=evd_type,json=evdType,proto3" json:"evd_type,omitempty"`
	// contains filtered or unexported fields
}

DiskConfig is the host-side configuration of a SCSI-attached disk.

func (*DiskConfig) Descriptor deprecated

func (*DiskConfig) Descriptor() ([]byte, []int)

Deprecated: Use DiskConfig.ProtoReflect.Descriptor instead.

func (*DiskConfig) GetEvdType

func (x *DiskConfig) GetEvdType() string

func (*DiskConfig) GetHostPath

func (x *DiskConfig) GetHostPath() string

func (*DiskConfig) GetReadOnly

func (x *DiskConfig) GetReadOnly() bool

func (*DiskConfig) GetType

func (x *DiskConfig) GetType() string

func (*DiskConfig) ProtoMessage

func (*DiskConfig) ProtoMessage()

func (*DiskConfig) ProtoReflect

func (x *DiskConfig) ProtoReflect() protoreflect.Message

func (*DiskConfig) Reset

func (x *DiskConfig) Reset()

func (*DiskConfig) String

func (x *DiskConfig) String() string

type DiskState

type DiskState struct {

	// config is the disk attachment configuration.
	Config *DiskConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// mounts is keyed by partition number on the disk.
	Mounts map[uint64]*MountState `` /* 140-byte string literal not displayed */
	// contains filtered or unexported fields
}

DiskState is a single SCSI-attached disk, keyed by controller slot index in [Payload.disks]. Every disk in a payload is implicitly in the Attached stage.

func (*DiskState) Descriptor deprecated

func (*DiskState) Descriptor() ([]byte, []int)

Deprecated: Use DiskState.ProtoReflect.Descriptor instead.

func (*DiskState) GetConfig

func (x *DiskState) GetConfig() *DiskConfig

func (*DiskState) GetMounts

func (x *DiskState) GetMounts() map[uint64]*MountState

func (*DiskState) ProtoMessage

func (*DiskState) ProtoMessage()

func (*DiskState) ProtoReflect

func (x *DiskState) ProtoReflect() protoreflect.Message

func (*DiskState) Reset

func (x *DiskState) Reset()

func (*DiskState) String

func (x *DiskState) String() string

type MountConfig

type MountConfig struct {

	// read_only mounts the partition read-only inside the guest.
	ReadOnly bool `protobuf:"varint,1,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	// encrypted wraps the partition with dm-crypt before mounting.
	Encrypted bool `protobuf:"varint,2,opt,name=encrypted,proto3" json:"encrypted,omitempty"`
	// options are extra mount options passed to the guest (e.g. "noatime").
	Options []string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
	// ensure_filesystem formats the partition if it has no filesystem.
	EnsureFilesystem bool `protobuf:"varint,4,opt,name=ensure_filesystem,json=ensureFilesystem,proto3" json:"ensure_filesystem,omitempty"`
	// filesystem is the filesystem type to use when formatting or mounting
	// (e.g. "ext4").
	Filesystem string `protobuf:"bytes,5,opt,name=filesystem,proto3" json:"filesystem,omitempty"`
	// block_dev exposes the partition as a raw block device instead of
	// mounting it.
	BlockDev bool `protobuf:"varint,6,opt,name=block_dev,json=blockDev,proto3" json:"block_dev,omitempty"`
	// contains filtered or unexported fields
}

MountConfig is the guest-side configuration of a SCSI partition mount.

func (*MountConfig) Descriptor deprecated

func (*MountConfig) Descriptor() ([]byte, []int)

Deprecated: Use MountConfig.ProtoReflect.Descriptor instead.

func (*MountConfig) GetBlockDev

func (x *MountConfig) GetBlockDev() bool

func (*MountConfig) GetEncrypted

func (x *MountConfig) GetEncrypted() bool

func (*MountConfig) GetEnsureFilesystem

func (x *MountConfig) GetEnsureFilesystem() bool

func (*MountConfig) GetFilesystem

func (x *MountConfig) GetFilesystem() string

func (*MountConfig) GetOptions

func (x *MountConfig) GetOptions() []string

func (*MountConfig) GetReadOnly

func (x *MountConfig) GetReadOnly() bool

func (*MountConfig) ProtoMessage

func (*MountConfig) ProtoMessage()

func (*MountConfig) ProtoReflect

func (x *MountConfig) ProtoReflect() protoreflect.Message

func (*MountConfig) Reset

func (x *MountConfig) Reset()

func (*MountConfig) String

func (x *MountConfig) String() string

type MountState

type MountState struct {

	// config is the mount configuration.
	Config *MountConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// ref_count is the number of live holders of this mount.
	RefCount uint32 `protobuf:"varint,2,opt,name=ref_count,json=refCount,proto3" json:"ref_count,omitempty"`
	// guest_path is where the partition is mounted inside the guest.
	GuestPath string `protobuf:"bytes,3,opt,name=guest_path,json=guestPath,proto3" json:"guest_path,omitempty"`
	// contains filtered or unexported fields
}

MountState is the in-guest mount metadata for a single partition of a SCSI-attached disk.

func (*MountState) Descriptor deprecated

func (*MountState) Descriptor() ([]byte, []int)

Deprecated: Use MountState.ProtoReflect.Descriptor instead.

func (*MountState) GetConfig

func (x *MountState) GetConfig() *MountConfig

func (*MountState) GetGuestPath

func (x *MountState) GetGuestPath() string

func (*MountState) GetRefCount

func (x *MountState) GetRefCount() uint32

func (*MountState) ProtoMessage

func (*MountState) ProtoMessage()

func (*MountState) ProtoReflect

func (x *MountState) ProtoReflect() protoreflect.Message

func (*MountState) Reset

func (x *MountState) Reset()

func (*MountState) String

func (x *MountState) String() string

type Payload

type Payload struct {

	// schema_version is bumped whenever a field's semantics change. The
	// destination MUST reject states whose version it does not recognise.
	SchemaVersion uint32 `protobuf:"varint,1,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	// num_controllers is the number of SCSI controllers attached to the VM.
	// The destination uses it to size its slot table on restore.
	NumControllers uint32 `protobuf:"varint,2,opt,name=num_controllers,json=numControllers,proto3" json:"num_controllers,omitempty"`
	// disks is keyed by controller slot index (controller*64 + lun).
	Disks map[uint32]*DiskState `` /* 138-byte string literal not displayed */
	// reservations is keyed by reservation GUID and tracks outstanding handles
	// that containers hold against SCSI mounts. The string keys here are the
	// values referenced by container controllers' scsi_reservation_ids.
	Reservations map[string]*Reservation `` /* 151-byte string literal not displayed */
	// contains filtered or unexported fields
}

Payload is the migration payload owned by the SCSI sub-controller. It is the top-level message wrapped in an [anypb.Any] when handed off between source and destination shims.

A payload is only emitted when every disk is in the Attached stage and every mount is in the Mounted stage, so per-entry lifecycle stages are not carried on the wire.

func (*Payload) Descriptor deprecated

func (*Payload) Descriptor() ([]byte, []int)

Deprecated: Use Payload.ProtoReflect.Descriptor instead.

func (*Payload) GetDisks

func (x *Payload) GetDisks() map[uint32]*DiskState

func (*Payload) GetNumControllers

func (x *Payload) GetNumControllers() uint32

func (*Payload) GetReservations

func (x *Payload) GetReservations() map[string]*Reservation

func (*Payload) GetSchemaVersion

func (x *Payload) GetSchemaVersion() uint32

func (*Payload) ProtoMessage

func (*Payload) ProtoMessage()

func (*Payload) ProtoReflect

func (x *Payload) ProtoReflect() protoreflect.Message

func (*Payload) Reset

func (x *Payload) Reset()

func (*Payload) String

func (x *Payload) String() string

type Reservation

type Reservation struct {

	// slot is the controllerSlot index (controller*64 + lun).
	Slot uint32 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"`
	// partition is the partition number on the disk that this reservation
	// refers to.
	Partition uint64 `protobuf:"varint,2,opt,name=partition,proto3" json:"partition,omitempty"`
	// contains filtered or unexported fields
}

Reservation is an outstanding handle a container holds against a SCSI partition mount.

func (*Reservation) Descriptor deprecated

func (*Reservation) Descriptor() ([]byte, []int)

Deprecated: Use Reservation.ProtoReflect.Descriptor instead.

func (*Reservation) GetPartition

func (x *Reservation) GetPartition() uint64

func (*Reservation) GetSlot

func (x *Reservation) GetSlot() uint32

func (*Reservation) ProtoMessage

func (*Reservation) ProtoMessage()

func (*Reservation) ProtoReflect

func (x *Reservation) ProtoReflect() protoreflect.Message

func (*Reservation) Reset

func (x *Reservation) Reset()

func (*Reservation) String

func (x *Reservation) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL