[DON'T MERGE]
Signed-off-by: Juan Quintela <quintela(a)redhat.com>
---
docs/about/deprecated.rst | 7 -----
qapi/migration.json | 55 +++++++---------------------------
migration/options.h | 1 -
migration/block.c | 2 +-
migration/migration-hmp-cmds.c | 18 +----------
migration/migration.c | 13 ++------
migration/options.c | 18 -----------
hmp-commands.hx | 13 +++-----
8 files changed, 20 insertions(+), 107 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index a6da0df8e1..6bc41a430a 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -452,13 +452,6 @@ Migration
``skipped`` field in Migration stats has been deprecated. It hasn't
been used for more than 10 years.
-``inc`` migrate command option (since 8.2)
-''''''''''''''''''''''''''''''''''''''''''
-
-The new way to modify migration is using migration parameters.
-``inc`` functionality can be achieved by setting the
-``block-incremental`` migration parameter to ``true``.
-
``blk`` migrate command option (since 8.2)
''''''''''''''''''''''''''''''''''''''''''
diff --git a/qapi/migration.json b/qapi/migration.json
index e599062f7d..545da4e257 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -779,13 +779,6 @@
# @x-checkpoint-delay: The delay time (in ms) between two COLO
# checkpoints in periodic mode. (Since 2.8)
#
-# @block-incremental: Affects how much storage is migrated when the
-# block migration capability is enabled. When false, the entire
-# storage backing chain is migrated into a flattened image at the
-# destination; when true, only the active qcow2 layer is migrated
-# and the destination must already have access to the same backing
-# chain as was used on the source. (since 2.10)
-#
# @multifd-channels: Number of channels used to migrate data in
# parallel. This is the same number that the number of sockets
# used for migration. The default value is 2 (since 4.0)
@@ -841,10 +834,9 @@
#
# Features:
#
-# @deprecated: Member @block-incremental is deprecated. Use
-# blockdev-mirror with NBD instead. Members @compress-level,
-# @compress-threads, @decompress-threads and @compress-wait-thread
-# are deprecated because @compression is deprecated.
+# @deprecated: Members @compress-level, @compress-threads,
+# @decompress-threads and @compress-wait-thread are deprecated
+# because @compression is deprecated.
#
# @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
# are experimental.
@@ -864,7 +856,6 @@
'tls-creds', 'tls-hostname', 'tls-authz',
'max-bandwidth',
'downtime-limit',
{ 'name': 'x-checkpoint-delay', 'features': [
'unstable' ] },
- { 'name': 'block-incremental', 'features': [
'deprecated' ] },
'multifd-channels',
'xbzrle-cache-size', 'max-postcopy-bandwidth',
'max-cpu-throttle', 'multifd-compression',
@@ -953,13 +944,6 @@
# @x-checkpoint-delay: the delay time between two COLO checkpoints.
# (Since 2.8)
#
-# @block-incremental: Affects how much storage is migrated when the
-# block migration capability is enabled. When false, the entire
-# storage backing chain is migrated into a flattened image at the
-# destination; when true, only the active qcow2 layer is migrated
-# and the destination must already have access to the same backing
-# chain as was used on the source. (since 2.10)
-#
# @multifd-channels: Number of channels used to migrate data in
# parallel. This is the same number that the number of sockets
# used for migration. The default value is 2 (since 4.0)
@@ -1015,10 +999,9 @@
#
# Features:
#
-# @deprecated: Member @block-incremental is deprecated. Use
-# blockdev-mirror with NBD instead. Members @compress-level,
-# @compress-threads, @decompress-threads and @compress-wait-thread
-# are deprecated because @compression is deprecated.
+# @deprecated: Members @compress-level, @compress-threads,
+# @decompress-threads and @compress-wait-thread are deprecated
+# because @compression is deprecated.
#
# @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
# are experimental.
@@ -1052,8 +1035,6 @@
'*downtime-limit': 'uint64',
'*x-checkpoint-delay': { 'type': 'uint32',
'features': [ 'unstable' ] },
- '*block-incremental': { 'type': 'bool',
- 'features': [ 'deprecated' ] },
'*multifd-channels': 'uint8',
'*xbzrle-cache-size': 'size',
'*max-postcopy-bandwidth': 'size',
@@ -1166,13 +1147,6 @@
# @x-checkpoint-delay: the delay time between two COLO checkpoints.
# (Since 2.8)
#
-# @block-incremental: Affects how much storage is migrated when the
-# block migration capability is enabled. When false, the entire
-# storage backing chain is migrated into a flattened image at the
-# destination; when true, only the active qcow2 layer is migrated
-# and the destination must already have access to the same backing
-# chain as was used on the source. (since 2.10)
-#
# @multifd-channels: Number of channels used to migrate data in
# parallel. This is the same number that the number of sockets
# used for migration. The default value is 2 (since 4.0)
@@ -1228,10 +1202,9 @@
#
# Features:
#
-# @deprecated: Member @block-incremental is deprecated. Use
-# blockdev-mirror with NBD instead. Members @compress-level,
-# @compress-threads, @decompress-threads and @compress-wait-thread
-# are deprecated because @compression is deprecated.
+# @deprecated: Members @compress-level, @compress-threads,
+# @decompress-threads and @compress-wait-thread are deprecated
+# because @compression is deprecated.
#
# @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
# are experimental.
@@ -1262,8 +1235,6 @@
'*downtime-limit': 'uint64',
'*x-checkpoint-delay': { 'type': 'uint32',
'features': [ 'unstable' ] },
- '*block-incremental': { 'type': 'bool',
- 'features': [ 'deprecated' ] },
'*multifd-channels': 'uint8',
'*xbzrle-cache-size': 'size',
'*max-postcopy-bandwidth': 'size',
@@ -1527,8 +1498,6 @@
#
# @blk: do block migration (full disk copy)
#
-# @inc: incremental disk copy migration
-#
# @detach: this argument exists only for compatibility reasons and is
# ignored by QEMU
#
@@ -1536,9 +1505,8 @@
#
# Features:
#
-# @deprecated: Member @inc is deprecated. Use migration parameter
-# @block-incremental instead. Member @blk is deprecated. Set
-# migration capability 'block' to 'true' instead.
+# @deprecated: Member @blk is deprecated. Set migration capability
+# 'block' to 'true' instead.
#
# Returns: nothing on success
#
@@ -1563,7 +1531,6 @@
{ 'command': 'migrate',
'data': {'uri': 'str',
'*blk': { 'type': 'bool', 'features': [
'deprecated' ] },
- '*inc': { 'type': 'bool', 'features': [
'deprecated' ] },
'*detach': 'bool', '*resume': 'bool' } }
##
diff --git a/migration/options.h b/migration/options.h
index 4e8c0b9223..237e4c75d4 100644
--- a/migration/options.h
+++ b/migration/options.h
@@ -67,7 +67,6 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp);
const BitmapMigrationNodeAliasList *migrate_block_bitmap_mapping(void);
bool migrate_has_block_bitmap_mapping(void);
-bool migrate_block_incremental(void);
uint32_t migrate_checkpoint_delay(void);
int migrate_compress_level(void);
int migrate_compress_threads(void);
diff --git a/migration/block.c b/migration/block.c
index 7f563c70f6..fadf96f668 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -420,7 +420,7 @@ static int init_blk_migration(QEMUFile *f)
bmds->bulk_completed = 0;
bmds->total_sectors = sectors;
bmds->completed_sectors = 0;
- bmds->shared_base = migrate_block_incremental();
+ bmds->shared_base = false;
assert(i < num_bs);
bmds_bs[i].bmds = bmds;
diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c
index 582368926a..e6f6785ad3 100644
--- a/migration/migration-hmp-cmds.c
+++ b/migration/migration-hmp-cmds.c
@@ -330,10 +330,6 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "%s: %u ms\n",
MigrationParameter_str(MIGRATION_PARAMETER_X_CHECKPOINT_DELAY),
params->x_checkpoint_delay);
- assert(params->has_block_incremental);
- monitor_printf(mon, "%s: %s\n",
- MigrationParameter_str(MIGRATION_PARAMETER_BLOCK_INCREMENTAL),
- params->block_incremental ? "on" : "off");
monitor_printf(mon, "%s: %u\n",
MigrationParameter_str(MIGRATION_PARAMETER_MULTIFD_CHANNELS),
params->multifd_channels);
@@ -583,10 +579,6 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
p->has_x_checkpoint_delay = true;
visit_type_uint32(v, param, &p->x_checkpoint_delay, &err);
break;
- case MIGRATION_PARAMETER_BLOCK_INCREMENTAL:
- p->has_block_incremental = true;
- visit_type_bool(v, param, &p->block_incremental, &err);
- break;
case MIGRATION_PARAMETER_MULTIFD_CHANNELS:
p->has_multifd_channels = true;
visit_type_uint8(v, param, &p->multifd_channels, &err);
@@ -726,25 +718,17 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
{
bool detach = qdict_get_try_bool(qdict, "detach", false);
bool blk = qdict_get_try_bool(qdict, "blk", false);
- bool inc = qdict_get_try_bool(qdict, "inc", false);
bool resume = qdict_get_try_bool(qdict, "resume", false);
const char *uri = qdict_get_str(qdict, "uri");
Error *err = NULL;
- if (inc) {
- monitor_printf(mon, "-i migrate option is deprecated, set the"
- "'block-incremental' migration parameter to
'true'"
- " instead.\n");
- return;
- }
-
if (blk) {
monitor_printf(mon, "-b migrate option is deprecated, set the "
"'block' capability to 'true'
instead.\n");
return;
}
- qmp_migrate(uri, false, false, false, false,
+ qmp_migrate(uri, false, false,
false, false, true, resume, &err);
if (hmp_handle_error(mon, err)) {
return;
diff --git a/migration/migration.c b/migration/migration.c
index ceeb2e6cb2..d587c8f5b8 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1595,16 +1595,9 @@ bool migration_is_blocked(Error **errp)
}
/* Returns true if continue to migrate, or false if error detected */
-static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc,
+static bool migrate_prepare(MigrationState *s, bool blk,
bool resume, Error **errp)
{
- if (blk_inc) {
- error_setg(errp, "@inc migrate option is deprecated, set the"
- "'block-incremental' migration parameter to
'true'"
- " instead.");
- return false;
- }
-
if (blk) {
error_setg(errp, "@blk/-i migrate option is deprecated, set the "
"'block' capability to 'true' instead.");
@@ -1668,7 +1661,7 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool
blk_inc,
}
void qmp_migrate(const char *uri, bool has_blk, bool blk,
- bool has_inc, bool inc, bool has_detach, bool detach,
+ bool has_detach, bool detach,
bool has_resume, bool resume, Error **errp)
{
bool resume_requested;
@@ -1682,7 +1675,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
}
resume_requested = has_resume && resume;
- if (!migrate_prepare(s, has_blk && blk, has_inc && inc,
+ if (!migrate_prepare(s, has_blk && blk,
resume_requested, errp)) {
/* Error detected, put into errp */
return;
diff --git a/migration/options.c b/migration/options.c
index ecb34a3bbd..a4defb4e63 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -686,13 +686,6 @@ bool migrate_has_block_bitmap_mapping(void)
return s->parameters.has_block_bitmap_mapping;
}
-bool migrate_block_incremental(void)
-{
- MigrationState *s = migrate_get_current();
-
- return s->parameters.block_incremental;
-}
-
uint32_t migrate_checkpoint_delay(void)
{
MigrationState *s = migrate_get_current();
@@ -890,8 +883,6 @@ MigrationParameters *qmp_query_migrate_parameters(Error **errp)
params->downtime_limit = s->parameters.downtime_limit;
params->has_x_checkpoint_delay = true;
params->x_checkpoint_delay = s->parameters.x_checkpoint_delay;
- params->has_block_incremental = true;
- params->block_incremental = s->parameters.block_incremental;
params->has_multifd_channels = true;
params->multifd_channels = s->parameters.multifd_channels;
params->has_multifd_compression = true;
@@ -947,7 +938,6 @@ void migrate_params_init(MigrationParameters *params)
params->has_max_bandwidth = true;
params->has_downtime_limit = true;
params->has_x_checkpoint_delay = true;
- params->has_block_incremental = true;
params->has_multifd_channels = true;
params->has_multifd_compression = true;
params->has_multifd_zlib_level = true;
@@ -1202,9 +1192,6 @@ static void migrate_params_test_apply(MigrateSetParameters *params,
dest->x_checkpoint_delay = params->x_checkpoint_delay;
}
- if (params->has_block_incremental) {
- dest->block_incremental = params->block_incremental;
- }
if (params->has_multifd_channels) {
dest->multifd_channels = params->multifd_channels;
}
@@ -1327,11 +1314,6 @@ static void migrate_params_apply(MigrateSetParameters *params,
Error **errp)
colo_checkpoint_delay_set();
}
- if (params->has_block_incremental) {
- warn_report("Block migration is deprecated. "
- "Use blockdev-mirror with NBD instead.");
- s->parameters.block_incremental = params->block_incremental;
- }
if (params->has_multifd_channels) {
s->parameters.multifd_channels = params->multifd_channels;
}
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 63eac22734..ce26057e85 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -920,26 +920,21 @@ ERST
{
.name = "migrate",
- .args_type = "detach:-d,blk:-b,inc:-i,resume:-r,uri:s",
- .params = "[-d] [-b] [-i] [-r] uri",
+ .args_type = "detach:-d,blk:-b,resume:-r,uri:s",
+ .params = "[-d] [-b] [-r] uri",
.help = "migrate to URI (using -d to not wait for completion)"
"\n\t\t\t -b for migration without shared storage with"
- " full copy of disk\n\t\t\t -i for migration without "
- "shared storage with incremental copy of disk "
- "(base image shared between src and destination)"
- "\n\t\t\t -r to resume a paused migration",
+ " full copy of disk\n\t\t\t -r to resume a paused migration",
.cmd = hmp_migrate,
},
SRST
-``migrate [-d] [-b] [-i]`` *uri*
+``migrate [-d] [-b]`` *uri*
Migrate to *uri* (using -d to not wait for completion).
``-b``
for migration with full copy of disk
- ``-i``
- for migration with incremental copy of disk (base image is shared)
ERST
{
--
2.41.0