@@ -6055,6 +6055,7 @@ type MigrateSetParameters struct {
6055
6055
BlockIncremental * bool `json:"block-incremental,omitempty"`
6056
6056
XMultifdChannels * int64 `json:"x-multifd-channels,omitempty"`
6057
6057
XMultifdPageCount * int64 `json:"x-multifd-page-count,omitempty"`
6058
+ XbzrleCacheSize * uint64 `json:"xbzrle-cache-size,omitempty"`
6058
6059
}
6059
6060
6060
6061
// UnmarshalJSON implements json.Unmarshaler.
@@ -6073,6 +6074,7 @@ func (s *MigrateSetParameters) UnmarshalJSON(bs []byte) error {
6073
6074
BlockIncremental * bool `json:"block-incremental,omitempty"`
6074
6075
XMultifdChannels * int64 `json:"x-multifd-channels,omitempty"`
6075
6076
XMultifdPageCount * int64 `json:"x-multifd-page-count,omitempty"`
6077
+ XbzrleCacheSize * uint64 `json:"xbzrle-cache-size,omitempty"`
6076
6078
}{}
6077
6079
err := json .Unmarshal (bs , & v )
6078
6080
if err != nil {
@@ -6105,6 +6107,7 @@ func (s *MigrateSetParameters) UnmarshalJSON(bs []byte) error {
6105
6107
s .BlockIncremental = v .BlockIncremental
6106
6108
s .XMultifdChannels = v .XMultifdChannels
6107
6109
s .XMultifdPageCount = v .XMultifdPageCount
6110
+ s .XbzrleCacheSize = v .XbzrleCacheSize
6108
6111
6109
6112
return nil
6110
6113
}
@@ -6127,6 +6130,7 @@ const (
6127
6130
MigrationCapabilityReleaseRAM
6128
6131
MigrationCapabilityBlock
6129
6132
MigrationCapabilityReturnPath
6133
+ MigrationCapabilityPauseBeforeSwitchover
6130
6134
MigrationCapabilityXMultifd
6131
6135
)
6132
6136
@@ -6155,6 +6159,8 @@ func (e MigrationCapability) String() string {
6155
6159
return "block"
6156
6160
case MigrationCapabilityReturnPath :
6157
6161
return "return-path"
6162
+ case MigrationCapabilityPauseBeforeSwitchover :
6163
+ return "pause-before-switchover"
6158
6164
case MigrationCapabilityXMultifd :
6159
6165
return "x-multifd"
6160
6166
default :
@@ -6187,6 +6193,8 @@ func (e MigrationCapability) MarshalJSON() ([]byte, error) {
6187
6193
return json .Marshal ("block" )
6188
6194
case MigrationCapabilityReturnPath :
6189
6195
return json .Marshal ("return-path" )
6196
+ case MigrationCapabilityPauseBeforeSwitchover :
6197
+ return json .Marshal ("pause-before-switchover" )
6190
6198
case MigrationCapabilityXMultifd :
6191
6199
return json .Marshal ("x-multifd" )
6192
6200
default :
@@ -6223,6 +6231,8 @@ func (e *MigrationCapability) UnmarshalJSON(bs []byte) error {
6223
6231
* e = MigrationCapabilityBlock
6224
6232
case "return-path" :
6225
6233
* e = MigrationCapabilityReturnPath
6234
+ case "pause-before-switchover" :
6235
+ * e = MigrationCapabilityPauseBeforeSwitchover
6226
6236
case "x-multifd" :
6227
6237
* e = MigrationCapabilityXMultifd
6228
6238
default :
@@ -6272,6 +6282,7 @@ type MigrationParameters struct {
6272
6282
BlockIncremental * bool `json:"block-incremental,omitempty"`
6273
6283
XMultifdChannels * int64 `json:"x-multifd-channels,omitempty"`
6274
6284
XMultifdPageCount * int64 `json:"x-multifd-page-count,omitempty"`
6285
+ XbzrleCacheSize * uint64 `json:"xbzrle-cache-size,omitempty"`
6275
6286
}
6276
6287
6277
6288
// MigrationStats -> MigrationStats (struct)
@@ -6308,6 +6319,8 @@ const (
6308
6319
MigrationStatusCompleted
6309
6320
MigrationStatusFailed
6310
6321
MigrationStatusColo
6322
+ MigrationStatusPreSwitchover
6323
+ MigrationStatusDevice
6311
6324
)
6312
6325
6313
6326
// String implements fmt.Stringer.
@@ -6331,6 +6344,10 @@ func (e MigrationStatus) String() string {
6331
6344
return "failed"
6332
6345
case MigrationStatusColo :
6333
6346
return "colo"
6347
+ case MigrationStatusPreSwitchover :
6348
+ return "pre-switchover"
6349
+ case MigrationStatusDevice :
6350
+ return "device"
6334
6351
default :
6335
6352
return fmt .Sprintf ("MigrationStatus(%d)" , e )
6336
6353
}
@@ -6357,6 +6374,10 @@ func (e MigrationStatus) MarshalJSON() ([]byte, error) {
6357
6374
return json .Marshal ("failed" )
6358
6375
case MigrationStatusColo :
6359
6376
return json .Marshal ("colo" )
6377
+ case MigrationStatusPreSwitchover :
6378
+ return json .Marshal ("pre-switchover" )
6379
+ case MigrationStatusDevice :
6380
+ return json .Marshal ("device" )
6360
6381
default :
6361
6382
return nil , fmt .Errorf ("unknown enum value %q for MigrationStatus" , e )
6362
6383
}
@@ -6387,6 +6408,10 @@ func (e *MigrationStatus) UnmarshalJSON(bs []byte) error {
6387
6408
* e = MigrationStatusFailed
6388
6409
case "colo" :
6389
6410
* e = MigrationStatusColo
6411
+ case "pre-switchover" :
6412
+ * e = MigrationStatusPreSwitchover
6413
+ case "device" :
6414
+ * e = MigrationStatusDevice
6390
6415
default :
6391
6416
return fmt .Errorf ("unknown enum value %q for MigrationStatus" , s )
6392
6417
}
@@ -12122,6 +12147,29 @@ func (m *Monitor) Migrate(uri string, blk *bool, inc *bool, detach *bool) (err e
12122
12147
return
12123
12148
}
12124
12149
12150
+ // migrate-continue -> MigrateContinue (command)
12151
+
12152
+ // MigrateContinue implements the "migrate-continue" QMP API call.
12153
+ func (m * Monitor ) MigrateContinue (state MigrationStatus ) (err error ) {
12154
+ cmd := struct {
12155
+ State MigrationStatus `json:"state"`
12156
+ }{
12157
+ state ,
12158
+ }
12159
+ bs , err := json .Marshal (map [string ]interface {}{
12160
+ "execute" : "migrate-continue" ,
12161
+ "arguments" : cmd ,
12162
+ })
12163
+ if err != nil {
12164
+ return
12165
+ }
12166
+ bs , err = m .mon .Run (bs )
12167
+ if err != nil {
12168
+ return
12169
+ }
12170
+ return
12171
+ }
12172
+
12125
12173
// migrate-incoming -> MigrateIncoming (command)
12126
12174
12127
12175
// MigrateIncoming implements the "migrate-incoming" QMP API call.
@@ -14773,11 +14821,13 @@ func (m *Monitor) XenLoadDevicesState(filename string) (err error) {
14773
14821
// xen-save-devices-state -> XenSaveDevicesState (command)
14774
14822
14775
14823
// XenSaveDevicesState implements the "xen-save-devices-state" QMP API call.
14776
- func (m * Monitor ) XenSaveDevicesState (filename string ) (err error ) {
14824
+ func (m * Monitor ) XenSaveDevicesState (filename string , live * bool ) (err error ) {
14777
14825
cmd := struct {
14778
14826
Filename string `json:"filename"`
14827
+ Live * bool `json:"live,omitempty"`
14779
14828
}{
14780
14829
filename ,
14830
+ live ,
14781
14831
}
14782
14832
bs , err := json .Marshal (map [string ]interface {}{
14783
14833
"execute" : "xen-save-devices-state" ,
0 commit comments