Documentation
¶
Index ¶
- Variables
- type DiskConfig
- func (*DiskConfig) Descriptor() ([]byte, []int)deprecated
- func (x *DiskConfig) GetEvdType() string
- func (x *DiskConfig) GetHostPath() string
- func (x *DiskConfig) GetReadOnly() bool
- func (x *DiskConfig) GetType() string
- func (*DiskConfig) ProtoMessage()
- func (x *DiskConfig) ProtoReflect() protoreflect.Message
- func (x *DiskConfig) Reset()
- func (x *DiskConfig) String() string
- type DiskState
- func (*DiskState) Descriptor() ([]byte, []int)deprecated
- func (x *DiskState) GetConfig() *DiskConfig
- func (x *DiskState) GetMounts() map[uint64]*MountState
- func (*DiskState) ProtoMessage()
- func (x *DiskState) ProtoReflect() protoreflect.Message
- func (x *DiskState) Reset()
- func (x *DiskState) String() string
- type MountConfig
- func (*MountConfig) Descriptor() ([]byte, []int)deprecated
- func (x *MountConfig) GetBlockDev() bool
- func (x *MountConfig) GetEncrypted() bool
- func (x *MountConfig) GetEnsureFilesystem() bool
- func (x *MountConfig) GetFilesystem() string
- func (x *MountConfig) GetOptions() []string
- func (x *MountConfig) GetReadOnly() bool
- func (*MountConfig) ProtoMessage()
- func (x *MountConfig) ProtoReflect() protoreflect.Message
- func (x *MountConfig) Reset()
- func (x *MountConfig) String() string
- type MountState
- func (*MountState) Descriptor() ([]byte, []int)deprecated
- func (x *MountState) GetConfig() *MountConfig
- func (x *MountState) GetGuestPath() string
- func (x *MountState) GetRefCount() uint32
- func (*MountState) ProtoMessage()
- func (x *MountState) ProtoReflect() protoreflect.Message
- func (x *MountState) Reset()
- func (x *MountState) String() string
- type Payload
- func (*Payload) Descriptor() ([]byte, []int)deprecated
- func (x *Payload) GetDisks() map[uint32]*DiskState
- func (x *Payload) GetNumControllers() uint32
- func (x *Payload) GetReservations() map[string]*Reservation
- func (x *Payload) GetSchemaVersion() uint32
- func (*Payload) ProtoMessage()
- func (x *Payload) ProtoReflect() protoreflect.Message
- func (x *Payload) Reset()
- func (x *Payload) String() string
- type Reservation
- func (*Reservation) Descriptor() ([]byte, []int)deprecated
- func (x *Reservation) GetPartition() uint64
- func (x *Reservation) GetSlot() uint32
- func (*Reservation) ProtoMessage()
- func (x *Reservation) ProtoReflect() protoreflect.Message
- func (x *Reservation) Reset()
- func (x *Reservation) String() string
Constants ¶
This section is empty.
Variables ¶
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) 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
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) GetNumControllers ¶
func (*Payload) GetReservations ¶
func (x *Payload) GetReservations() map[string]*Reservation
func (*Payload) GetSchemaVersion ¶
func (*Payload) ProtoMessage ¶
func (*Payload) ProtoMessage()
func (*Payload) ProtoReflect ¶
func (x *Payload) ProtoReflect() protoreflect.Message
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