Documentation ¶
Index ¶
- Constants
- Variables
- func ProgressReader(op *operations.Operation, key string, description string) func(io.ReadCloser) io.ReadCloser
- func ProgressTracker(op *operations.Operation, key string, description string) *ioprogress.ProgressTracker
- func ProgressWriter(op *operations.Operation, key string, description string) func(io.WriteCloser) io.WriteCloser
- func ProtoRecv(ws *websocket.Conn, msg proto.Message) error
- func ProtoSend(ws *websocket.Conn, msg proto.Message) error
- func ProtoSendControl(ws *websocket.Conn, err error)
- type BtrfsFeatures
- func (*BtrfsFeatures) Descriptor() ([]byte, []int)deprecated
- func (x *BtrfsFeatures) GetHeaderSubvolumeUuids() bool
- func (x *BtrfsFeatures) GetHeaderSubvolumes() bool
- func (x *BtrfsFeatures) GetMigrationHeader() bool
- func (*BtrfsFeatures) ProtoMessage()
- func (x *BtrfsFeatures) ProtoReflect() protoreflect.Message
- func (x *BtrfsFeatures) Reset()
- func (x *BtrfsFeatures) String() string
- type CRIUType
- func (CRIUType) Descriptor() protoreflect.EnumDescriptor
- func (x CRIUType) Enum() *CRIUType
- func (CRIUType) EnumDescriptor() ([]byte, []int)deprecated
- func (x CRIUType) Number() protoreflect.EnumNumber
- func (x CRIUType) String() string
- func (CRIUType) Type() protoreflect.EnumType
- func (x *CRIUType) UnmarshalJSON(b []byte) errordeprecated
- type Config
- type ControlResponse
- type Device
- type IDMapType
- func (*IDMapType) Descriptor() ([]byte, []int)deprecated
- func (x *IDMapType) GetHostid() int32
- func (x *IDMapType) GetIsgid() bool
- func (x *IDMapType) GetIsuid() bool
- func (x *IDMapType) GetMaprange() int32
- func (x *IDMapType) GetNsid() int32
- func (*IDMapType) ProtoMessage()
- func (x *IDMapType) ProtoReflect() protoreflect.Message
- func (x *IDMapType) Reset()
- func (x *IDMapType) String() string
- type Info
- type InfoResponse
- type MigrationControl
- func (*MigrationControl) Descriptor() ([]byte, []int)deprecated
- func (x *MigrationControl) GetMessage() string
- func (x *MigrationControl) GetSuccess() bool
- func (*MigrationControl) ProtoMessage()
- func (x *MigrationControl) ProtoReflect() protoreflect.Message
- func (x *MigrationControl) Reset()
- func (x *MigrationControl) String() string
- type MigrationFSType
- func (MigrationFSType) Descriptor() protoreflect.EnumDescriptor
- func (x MigrationFSType) Enum() *MigrationFSType
- func (MigrationFSType) EnumDescriptor() ([]byte, []int)deprecated
- func (x MigrationFSType) Number() protoreflect.EnumNumber
- func (x MigrationFSType) String() string
- func (MigrationFSType) Type() protoreflect.EnumType
- func (x *MigrationFSType) UnmarshalJSON(b []byte) errordeprecated
- type MigrationHeader
- func (*MigrationHeader) Descriptor() ([]byte, []int)deprecated
- func (x *MigrationHeader) GetBtrfsFeatures() *BtrfsFeatures
- func (m *MigrationHeader) GetBtrfsFeaturesSlice() []string
- func (x *MigrationHeader) GetCriu() CRIUType
- func (x *MigrationHeader) GetFs() MigrationFSType
- func (x *MigrationHeader) GetIdmap() []*IDMapType
- func (x *MigrationHeader) GetIndexHeaderVersion() uint32
- func (x *MigrationHeader) GetPredump() bool
- func (x *MigrationHeader) GetRefresh() bool
- func (x *MigrationHeader) GetRsyncFeatures() *RsyncFeatures
- func (m *MigrationHeader) GetRsyncFeaturesSlice() []string
- func (x *MigrationHeader) GetSnapshotNames() []string
- func (x *MigrationHeader) GetSnapshots() []*Snapshot
- func (x *MigrationHeader) GetVolumeSize() int64
- func (x *MigrationHeader) GetZfsFeatures() *ZfsFeatures
- func (m *MigrationHeader) GetZfsFeaturesSlice() []string
- func (*MigrationHeader) ProtoMessage()
- func (x *MigrationHeader) ProtoReflect() protoreflect.Message
- func (x *MigrationHeader) Reset()
- func (x *MigrationHeader) String() string
- type MigrationSync
- type RsyncFeatures
- func (*RsyncFeatures) Descriptor() ([]byte, []int)deprecated
- func (x *RsyncFeatures) GetBidirectional() bool
- func (x *RsyncFeatures) GetCompress() bool
- func (x *RsyncFeatures) GetDelete() bool
- func (x *RsyncFeatures) GetXattrs() bool
- func (*RsyncFeatures) ProtoMessage()
- func (x *RsyncFeatures) ProtoReflect() protoreflect.Message
- func (x *RsyncFeatures) Reset()
- func (x *RsyncFeatures) String() string
- type Snapshot
- func (*Snapshot) Descriptor() ([]byte, []int)deprecated
- func (x *Snapshot) GetArchitecture() int32
- func (x *Snapshot) GetCreationDate() int64
- func (x *Snapshot) GetEphemeral() bool
- func (x *Snapshot) GetExpiryDate() int64
- func (x *Snapshot) GetLastUsedDate() int64
- func (x *Snapshot) GetLocalConfig() []*Config
- func (x *Snapshot) GetLocalDevices() []*Device
- func (x *Snapshot) GetName() string
- func (x *Snapshot) GetProfiles() []string
- func (x *Snapshot) GetStateful() bool
- func (*Snapshot) ProtoMessage()
- func (x *Snapshot) ProtoReflect() protoreflect.Message
- func (x *Snapshot) Reset()
- func (x *Snapshot) String() string
- type Type
- type VolumeSourceArgs
- type VolumeTargetArgs
- type ZfsFeatures
- func (*ZfsFeatures) Descriptor() ([]byte, []int)deprecated
- func (x *ZfsFeatures) GetCompress() bool
- func (x *ZfsFeatures) GetHeaderZvols() bool
- func (x *ZfsFeatures) GetMigrationHeader() bool
- func (*ZfsFeatures) ProtoMessage()
- func (x *ZfsFeatures) ProtoReflect() protoreflect.Message
- func (x *ZfsFeatures) Reset()
- func (x *ZfsFeatures) String() string
Constants ¶
const BTRFSFeatureMigrationHeader = "migration_header"
BTRFSFeatureMigrationHeader indicates a migration header will be sent/recv in data channel after index header.
const BTRFSFeatureSubvolumeUUIDs = "header_subvolume_uuids"
BTRFSFeatureSubvolumeUUIDs indicates that the header will include subvolume UUIDs.
const BTRFSFeatureSubvolumes = "header_subvolumes"
BTRFSFeatureSubvolumes indicates migration can send/recv subvolumes.
const IndexHeaderVersion uint32 = 1
IndexHeaderVersion version of the index header to be sent/recv.
const ZFSFeatureMigrationHeader = "migration_header"
ZFSFeatureMigrationHeader indicates a migration header will be sent/recv in data channel after index header.
const ZFSFeatureZvolFilesystems = "header_zvol_filesystems"
ZFSFeatureZvolFilesystems indicates migration can send/recv zvols.
Variables ¶
var ( MigrationFSType_name = map[int32]string{ 0: "RSYNC", 1: "BTRFS", 2: "ZFS", 3: "RBD", 4: "BLOCK_AND_RSYNC", 5: "RBD_AND_RSYNC", } MigrationFSType_value = map[string]int32{ "RSYNC": 0, "BTRFS": 1, "ZFS": 2, "RBD": 3, "BLOCK_AND_RSYNC": 4, "RBD_AND_RSYNC": 5, } )
Enum value maps for MigrationFSType.
var ( CRIUType_name = map[int32]string{ 0: "CRIU_RSYNC", 1: "PHAUL", 2: "NONE", 3: "VM_QEMU", } CRIUType_value = map[string]int32{ "CRIU_RSYNC": 0, "PHAUL": 1, "NONE": 2, "VM_QEMU": 3, } )
Enum value maps for CRIUType.
var ( ErrNoLiveMigrationSource = fmt.Errorf("%s CRIU isn't installed on the source server. %s on the source server", unableToLiveMigrate, toMigrateLive) ErrNoLiveMigrationTarget = fmt.Errorf("%s CRIU isn't installed on the target server. %s on the target server", unableToLiveMigrate, toMigrateLive) ErrNoLiveMigration = fmt.Errorf("%s CRIU isn't installed. %s", unableToLiveMigrate, toMigrateLive) )
var File_lxd_migration_migrate_proto protoreflect.FileDescriptor
Functions ¶
func ProgressReader ¶
func ProgressReader(op *operations.Operation, key string, description string) func(io.ReadCloser) io.ReadCloser
ProgressReader reports the read progress.
func ProgressTracker ¶
func ProgressTracker(op *operations.Operation, key string, description string) *ioprogress.ProgressTracker
ProgressTracker returns a migration I/O tracker.
func ProgressWriter ¶
func ProgressWriter(op *operations.Operation, key string, description string) func(io.WriteCloser) io.WriteCloser
ProgressWriter reports the write progress.
func ProtoSendControl ¶
ProtoSendControl sends a migration control message over a websocket.
Types ¶
type BtrfsFeatures ¶
type BtrfsFeatures struct { MigrationHeader *bool `protobuf:"varint,1,opt,name=migration_header,json=migrationHeader" json:"migration_header,omitempty"` HeaderSubvolumes *bool `protobuf:"varint,2,opt,name=header_subvolumes,json=headerSubvolumes" json:"header_subvolumes,omitempty"` HeaderSubvolumeUuids *bool `protobuf:"varint,3,opt,name=header_subvolume_uuids,json=headerSubvolumeUuids" json:"header_subvolume_uuids,omitempty"` // contains filtered or unexported fields }
func (*BtrfsFeatures) Descriptor
deprecated
func (*BtrfsFeatures) Descriptor() ([]byte, []int)
Deprecated: Use BtrfsFeatures.ProtoReflect.Descriptor instead.
func (*BtrfsFeatures) GetHeaderSubvolumeUuids ¶
func (x *BtrfsFeatures) GetHeaderSubvolumeUuids() bool
func (*BtrfsFeatures) GetHeaderSubvolumes ¶
func (x *BtrfsFeatures) GetHeaderSubvolumes() bool
func (*BtrfsFeatures) GetMigrationHeader ¶
func (x *BtrfsFeatures) GetMigrationHeader() bool
func (*BtrfsFeatures) ProtoMessage ¶
func (*BtrfsFeatures) ProtoMessage()
func (*BtrfsFeatures) ProtoReflect ¶
func (x *BtrfsFeatures) ProtoReflect() protoreflect.Message
func (*BtrfsFeatures) Reset ¶
func (x *BtrfsFeatures) Reset()
func (*BtrfsFeatures) String ¶
func (x *BtrfsFeatures) String() string
type CRIUType ¶
type CRIUType int32
func (CRIUType) Descriptor ¶
func (CRIUType) Descriptor() protoreflect.EnumDescriptor
func (CRIUType) EnumDescriptor
deprecated
func (CRIUType) Number ¶
func (x CRIUType) Number() protoreflect.EnumNumber
func (CRIUType) Type ¶
func (CRIUType) Type() protoreflect.EnumType
func (*CRIUType) UnmarshalJSON
deprecated
type Config ¶
type Config struct { Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"` Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` // contains filtered or unexported fields }
func (*Config) Descriptor
deprecated
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) ProtoReflect ¶
func (x *Config) ProtoReflect() protoreflect.Message
type ControlResponse ¶
type ControlResponse struct { MigrationControl Err error }
ControlResponse encapsulates MigrationControl with a receive error.
type Device ¶
type Device struct { Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` Config []*Config `protobuf:"bytes,2,rep,name=config" json:"config,omitempty"` // contains filtered or unexported fields }
func (*Device) Descriptor
deprecated
func (*Device) ProtoMessage ¶
func (*Device) ProtoMessage()
func (*Device) ProtoReflect ¶
func (x *Device) ProtoReflect() protoreflect.Message
type IDMapType ¶
type IDMapType struct { Isuid *bool `protobuf:"varint,1,req,name=isuid" json:"isuid,omitempty"` Isgid *bool `protobuf:"varint,2,req,name=isgid" json:"isgid,omitempty"` Hostid *int32 `protobuf:"varint,3,req,name=hostid" json:"hostid,omitempty"` Nsid *int32 `protobuf:"varint,4,req,name=nsid" json:"nsid,omitempty"` Maprange *int32 `protobuf:"varint,5,req,name=maprange" json:"maprange,omitempty"` // contains filtered or unexported fields }
func (*IDMapType) Descriptor
deprecated
func (*IDMapType) GetMaprange ¶
func (*IDMapType) ProtoMessage ¶
func (*IDMapType) ProtoMessage()
func (*IDMapType) ProtoReflect ¶
func (x *IDMapType) ProtoReflect() protoreflect.Message
type Info ¶
type Info struct {
Config *backupConfig.Config `json:"config,omitempty" yaml:"config,omitempty"` // Equivalent of backup.yaml but embedded in index.
}
Info represents the index frame sent if supported.
type InfoResponse ¶
type InfoResponse struct { StatusCode int Error string Refresh *bool // This is used to let the source know whether to actually refresh a volume. }
InfoResponse represents the response to the index frame sent if supported. Right now this doesn't contain anything useful, its just used to indicate receipt of the index header. But in the future the itention is to use it allow the target to send back additional information to the source about which frames (such as snapshots) it needs for the migration after having inspected the Info index header.
func (*InfoResponse) Err ¶
func (r *InfoResponse) Err() error
Err returns the error of the response.
type MigrationControl ¶
type MigrationControl struct { Success *bool `protobuf:"varint,1,req,name=success" json:"success,omitempty"` // optional failure message if sending a failure Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` // contains filtered or unexported fields }
func (*MigrationControl) Descriptor
deprecated
func (*MigrationControl) Descriptor() ([]byte, []int)
Deprecated: Use MigrationControl.ProtoReflect.Descriptor instead.
func (*MigrationControl) GetMessage ¶
func (x *MigrationControl) GetMessage() string
func (*MigrationControl) GetSuccess ¶
func (x *MigrationControl) GetSuccess() bool
func (*MigrationControl) ProtoMessage ¶
func (*MigrationControl) ProtoMessage()
func (*MigrationControl) ProtoReflect ¶
func (x *MigrationControl) ProtoReflect() protoreflect.Message
func (*MigrationControl) Reset ¶
func (x *MigrationControl) Reset()
func (*MigrationControl) String ¶
func (x *MigrationControl) String() string
type MigrationFSType ¶
type MigrationFSType int32
const ( MigrationFSType_RSYNC MigrationFSType = 0 MigrationFSType_BTRFS MigrationFSType = 1 MigrationFSType_ZFS MigrationFSType = 2 MigrationFSType_RBD MigrationFSType = 3 MigrationFSType_BLOCK_AND_RSYNC MigrationFSType = 4 MigrationFSType_RBD_AND_RSYNC MigrationFSType = 5 )
func (MigrationFSType) Descriptor ¶
func (MigrationFSType) Descriptor() protoreflect.EnumDescriptor
func (MigrationFSType) Enum ¶
func (x MigrationFSType) Enum() *MigrationFSType
func (MigrationFSType) EnumDescriptor
deprecated
func (MigrationFSType) EnumDescriptor() ([]byte, []int)
Deprecated: Use MigrationFSType.Descriptor instead.
func (MigrationFSType) Number ¶
func (x MigrationFSType) Number() protoreflect.EnumNumber
func (MigrationFSType) String ¶
func (x MigrationFSType) String() string
func (MigrationFSType) Type ¶
func (MigrationFSType) Type() protoreflect.EnumType
func (*MigrationFSType) UnmarshalJSON
deprecated
func (x *MigrationFSType) UnmarshalJSON(b []byte) error
Deprecated: Do not use.
type MigrationHeader ¶
type MigrationHeader struct { Fs *MigrationFSType `protobuf:"varint,1,req,name=fs,enum=migration.MigrationFSType" json:"fs,omitempty"` Criu *CRIUType `protobuf:"varint,2,opt,name=criu,enum=migration.CRIUType" json:"criu,omitempty"` Idmap []*IDMapType `protobuf:"bytes,3,rep,name=idmap" json:"idmap,omitempty"` SnapshotNames []string `protobuf:"bytes,4,rep,name=snapshotNames" json:"snapshotNames,omitempty"` Snapshots []*Snapshot `protobuf:"bytes,5,rep,name=snapshots" json:"snapshots,omitempty"` Predump *bool `protobuf:"varint,7,opt,name=predump" json:"predump,omitempty"` RsyncFeatures *RsyncFeatures `protobuf:"bytes,8,opt,name=rsyncFeatures" json:"rsyncFeatures,omitempty"` Refresh *bool `protobuf:"varint,9,opt,name=refresh" json:"refresh,omitempty"` ZfsFeatures *ZfsFeatures `protobuf:"bytes,10,opt,name=zfsFeatures" json:"zfsFeatures,omitempty"` VolumeSize *int64 `protobuf:"varint,11,opt,name=volumeSize" json:"volumeSize,omitempty"` BtrfsFeatures *BtrfsFeatures `protobuf:"bytes,12,opt,name=btrfsFeatures" json:"btrfsFeatures,omitempty"` IndexHeaderVersion *uint32 `protobuf:"varint,13,opt,name=indexHeaderVersion" json:"indexHeaderVersion,omitempty"` // contains filtered or unexported fields }
func TypesToHeader ¶
func TypesToHeader(types ...Type) *MigrationHeader
TypesToHeader converts one or more Types to a MigrationHeader. It uses the first type argument supplied to indicate the preferred migration method and sets the MigrationHeader's Fs type to that. If the preferred type is ZFS then it will also set the header's optional ZfsFeatures. If the fallback Rsync type is present in any of the types even if it is not preferred, then its optional features are added to the header's RsyncFeatures, allowing for fallback negotiation to take place on the farside.
func (*MigrationHeader) Descriptor
deprecated
func (*MigrationHeader) Descriptor() ([]byte, []int)
Deprecated: Use MigrationHeader.ProtoReflect.Descriptor instead.
func (*MigrationHeader) GetBtrfsFeatures ¶
func (x *MigrationHeader) GetBtrfsFeatures() *BtrfsFeatures
func (*MigrationHeader) GetBtrfsFeaturesSlice ¶
func (m *MigrationHeader) GetBtrfsFeaturesSlice() []string
GetBtrfsFeaturesSlice returns a slice of strings representing the supported BTRFS features.
func (*MigrationHeader) GetCriu ¶
func (x *MigrationHeader) GetCriu() CRIUType
func (*MigrationHeader) GetFs ¶
func (x *MigrationHeader) GetFs() MigrationFSType
func (*MigrationHeader) GetIdmap ¶
func (x *MigrationHeader) GetIdmap() []*IDMapType
func (*MigrationHeader) GetIndexHeaderVersion ¶
func (x *MigrationHeader) GetIndexHeaderVersion() uint32
func (*MigrationHeader) GetPredump ¶
func (x *MigrationHeader) GetPredump() bool
func (*MigrationHeader) GetRefresh ¶
func (x *MigrationHeader) GetRefresh() bool
func (*MigrationHeader) GetRsyncFeatures ¶
func (x *MigrationHeader) GetRsyncFeatures() *RsyncFeatures
func (*MigrationHeader) GetRsyncFeaturesSlice ¶
func (m *MigrationHeader) GetRsyncFeaturesSlice() []string
GetRsyncFeaturesSlice returns a slice of strings representing the supported RSYNC features.
func (*MigrationHeader) GetSnapshotNames ¶
func (x *MigrationHeader) GetSnapshotNames() []string
func (*MigrationHeader) GetSnapshots ¶
func (x *MigrationHeader) GetSnapshots() []*Snapshot
func (*MigrationHeader) GetVolumeSize ¶
func (x *MigrationHeader) GetVolumeSize() int64
func (*MigrationHeader) GetZfsFeatures ¶
func (x *MigrationHeader) GetZfsFeatures() *ZfsFeatures
func (*MigrationHeader) GetZfsFeaturesSlice ¶
func (m *MigrationHeader) GetZfsFeaturesSlice() []string
GetZfsFeaturesSlice returns a slice of strings representing the supported ZFS features.
func (*MigrationHeader) ProtoMessage ¶
func (*MigrationHeader) ProtoMessage()
func (*MigrationHeader) ProtoReflect ¶
func (x *MigrationHeader) ProtoReflect() protoreflect.Message
func (*MigrationHeader) Reset ¶
func (x *MigrationHeader) Reset()
func (*MigrationHeader) String ¶
func (x *MigrationHeader) String() string
type MigrationSync ¶
type MigrationSync struct { FinalPreDump *bool `protobuf:"varint,1,req,name=finalPreDump" json:"finalPreDump,omitempty"` // contains filtered or unexported fields }
func (*MigrationSync) Descriptor
deprecated
func (*MigrationSync) Descriptor() ([]byte, []int)
Deprecated: Use MigrationSync.ProtoReflect.Descriptor instead.
func (*MigrationSync) GetFinalPreDump ¶
func (x *MigrationSync) GetFinalPreDump() bool
func (*MigrationSync) ProtoMessage ¶
func (*MigrationSync) ProtoMessage()
func (*MigrationSync) ProtoReflect ¶
func (x *MigrationSync) ProtoReflect() protoreflect.Message
func (*MigrationSync) Reset ¶
func (x *MigrationSync) Reset()
func (*MigrationSync) String ¶
func (x *MigrationSync) String() string
type RsyncFeatures ¶
type RsyncFeatures struct { Xattrs *bool `protobuf:"varint,1,opt,name=xattrs" json:"xattrs,omitempty"` Delete *bool `protobuf:"varint,2,opt,name=delete" json:"delete,omitempty"` Compress *bool `protobuf:"varint,3,opt,name=compress" json:"compress,omitempty"` Bidirectional *bool `protobuf:"varint,4,opt,name=bidirectional" json:"bidirectional,omitempty"` // contains filtered or unexported fields }
func (*RsyncFeatures) Descriptor
deprecated
func (*RsyncFeatures) Descriptor() ([]byte, []int)
Deprecated: Use RsyncFeatures.ProtoReflect.Descriptor instead.
func (*RsyncFeatures) GetBidirectional ¶
func (x *RsyncFeatures) GetBidirectional() bool
func (*RsyncFeatures) GetCompress ¶
func (x *RsyncFeatures) GetCompress() bool
func (*RsyncFeatures) GetDelete ¶
func (x *RsyncFeatures) GetDelete() bool
func (*RsyncFeatures) GetXattrs ¶
func (x *RsyncFeatures) GetXattrs() bool
func (*RsyncFeatures) ProtoMessage ¶
func (*RsyncFeatures) ProtoMessage()
func (*RsyncFeatures) ProtoReflect ¶
func (x *RsyncFeatures) ProtoReflect() protoreflect.Message
func (*RsyncFeatures) Reset ¶
func (x *RsyncFeatures) Reset()
func (*RsyncFeatures) String ¶
func (x *RsyncFeatures) String() string
type Snapshot ¶
type Snapshot struct { Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` LocalConfig []*Config `protobuf:"bytes,2,rep,name=localConfig" json:"localConfig,omitempty"` Profiles []string `protobuf:"bytes,3,rep,name=profiles" json:"profiles,omitempty"` Ephemeral *bool `protobuf:"varint,4,req,name=ephemeral" json:"ephemeral,omitempty"` LocalDevices []*Device `protobuf:"bytes,5,rep,name=localDevices" json:"localDevices,omitempty"` Architecture *int32 `protobuf:"varint,6,req,name=architecture" json:"architecture,omitempty"` Stateful *bool `protobuf:"varint,7,req,name=stateful" json:"stateful,omitempty"` CreationDate *int64 `protobuf:"varint,8,opt,name=creation_date,json=creationDate" json:"creation_date,omitempty"` LastUsedDate *int64 `protobuf:"varint,9,opt,name=last_used_date,json=lastUsedDate" json:"last_used_date,omitempty"` ExpiryDate *int64 `protobuf:"varint,10,opt,name=expiry_date,json=expiryDate" json:"expiry_date,omitempty"` // contains filtered or unexported fields }
func (*Snapshot) Descriptor
deprecated
func (*Snapshot) GetArchitecture ¶
func (*Snapshot) GetCreationDate ¶
func (*Snapshot) GetEphemeral ¶
func (*Snapshot) GetExpiryDate ¶
func (*Snapshot) GetLastUsedDate ¶
func (*Snapshot) GetLocalConfig ¶
func (*Snapshot) GetLocalDevices ¶
func (*Snapshot) GetProfiles ¶
func (*Snapshot) GetStateful ¶
func (*Snapshot) ProtoMessage ¶
func (*Snapshot) ProtoMessage()
func (*Snapshot) ProtoReflect ¶
func (x *Snapshot) ProtoReflect() protoreflect.Message
type Type ¶
type Type struct { FSType MigrationFSType // Transport mode selected. Features []string // Feature hints for selected FSType transport mode. }
Type represents the migration transport type. It indicates the method by which the migration can take place and what optional features are available.
func MatchTypes ¶
func MatchTypes(offer *MigrationHeader, fallbackType MigrationFSType, ourTypes []Type) ([]Type, error)
MatchTypes attempts to find matching migration transport types between an offered type sent from a remote source and the types supported by a local storage pool. If matches are found then one or more Types are returned containing the method and the matching optional features present in both. The function also takes a fallback type which is used as an additional offer type preference in case the preferred remote type is not compatible with the local type available. It is expected that both sides of the migration will support the fallback type for the volume's content type that is being migrated.
type VolumeSourceArgs ¶
type VolumeSourceArgs struct { IndexHeaderVersion uint32 Name string Snapshots []string MigrationType Type TrackProgress bool MultiSync bool FinalSync bool Data any // Optional store to persist storage driver state between MultiSync phases. ContentType string AllowInconsistent bool Refresh bool Info *Info VolumeOnly bool ClusterMove bool }
VolumeSourceArgs represents the arguments needed to setup a volume migration source.
type VolumeTargetArgs ¶
type VolumeTargetArgs struct { IndexHeaderVersion uint32 Name string Description string Config map[string]string // Only used for custom volume migration. Snapshots []string MigrationType Type TrackProgress bool Refresh bool ConversionOptions []string Live bool VolumeSize int64 ContentType string VolumeOnly bool ClusterMoveSourceName string }
VolumeTargetArgs represents the arguments needed to setup a volume migration sink.
type ZfsFeatures ¶
type ZfsFeatures struct { Compress *bool `protobuf:"varint,1,opt,name=compress" json:"compress,omitempty"` MigrationHeader *bool `protobuf:"varint,2,opt,name=migration_header,json=migrationHeader" json:"migration_header,omitempty"` HeaderZvols *bool `protobuf:"varint,3,opt,name=header_zvols,json=headerZvols" json:"header_zvols,omitempty"` // contains filtered or unexported fields }
func (*ZfsFeatures) Descriptor
deprecated
func (*ZfsFeatures) Descriptor() ([]byte, []int)
Deprecated: Use ZfsFeatures.ProtoReflect.Descriptor instead.
func (*ZfsFeatures) GetCompress ¶
func (x *ZfsFeatures) GetCompress() bool
func (*ZfsFeatures) GetHeaderZvols ¶
func (x *ZfsFeatures) GetHeaderZvols() bool
func (*ZfsFeatures) GetMigrationHeader ¶
func (x *ZfsFeatures) GetMigrationHeader() bool
func (*ZfsFeatures) ProtoMessage ¶
func (*ZfsFeatures) ProtoMessage()
func (*ZfsFeatures) ProtoReflect ¶
func (x *ZfsFeatures) ProtoReflect() protoreflect.Message
func (*ZfsFeatures) Reset ¶
func (x *ZfsFeatures) Reset()
func (*ZfsFeatures) String ¶
func (x *ZfsFeatures) String() string