It was declared deprecated since 9.2.
Signed-off-by: Peter Xu <peterx@redhat.com>
---
docs/about/deprecated.rst | 6 ------
docs/about/removed-features.rst | 6 ++++++
qapi/migration.json | 11 +----------
migration/options.c | 5 -----
4 files changed, 7 insertions(+), 21 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index b499b2acb0..6e4e2e4833 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -575,12 +575,6 @@ deprecated in favor of explicitly using the ``file:`` URI with the
file descriptor being passed as an ``fdset``. Refer to the ``add-fd``
command documentation for details on the ``fdset`` usage.
-``zero-blocks`` capability (since 9.2)
-''''''''''''''''''''''''''''''''''''''
-
-The ``zero-blocks`` capability was part of the block migration which
-doesn't exist anymore since it was removed in QEMU v9.1.
-
COLO migration framework (since 11.0)
'''''''''''''''''''''''''''''''''''''
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index e81d79da47..8a9d21068a 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -717,6 +717,12 @@ Block migration has been removed. For a replacement, see "QMP
invocation for live storage migration with ``blockdev-mirror`` + NBD"
in docs/interop/live-block-operations.rst.
+``migrate-set-capabilities`` ``zero-blocks`` option (removed in 11.0)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+The ``zero-blocks`` capability was part of the block migration capability
+that got removed. Removed with no replacement.
+
``migrate-set-parameter`` ``compress-level`` option (removed in 9.1)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
diff --git a/qapi/migration.json b/qapi/migration.json
index 3c868efe38..490f72090e 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -440,13 +440,6 @@
# footprint is mlock()'d on demand or all at once. Refer to
# docs/rdma.txt for usage. Disabled by default. (since 2.0)
#
-# @zero-blocks: During storage migration encode blocks of zeroes
-# efficiently. This essentially saves 1MB of zeroes per block on
-# the wire. Enabling requires source and target VM to support
-# this feature. To enable it is sufficient to enable the
-# capability on the source VM. The feature is disabled by
-# default. (since 1.6)
-#
# @events: generate events for each migration state change (since 2.4)
#
# @auto-converge: If enabled, QEMU will automatically throttle down
@@ -531,13 +524,12 @@
#
# @unstable: Members @x-colo and @x-ignore-shared are experimental.
#
-# @deprecated: Member @zero-blocks and @x-colo are deprecated.
+# @deprecated: Member @x-colo is deprecated.
#
# Since: 1.2
##
{ 'enum': 'MigrationCapability',
'data': ['xbzrle', 'rdma-pin-all', 'auto-converge',
- { 'name': 'zero-blocks', 'features': [ 'deprecated' ] },
'events', 'postcopy-ram',
{ 'name': 'x-colo', 'features': [ 'unstable', 'deprecated' ] },
'release-ram',
@@ -594,7 +586,6 @@
# {"state": false, "capability": "xbzrle"},
# {"state": false, "capability": "rdma-pin-all"},
# {"state": false, "capability": "auto-converge"},
-# {"state": false, "capability": "zero-blocks"},
# {"state": true, "capability": "events"},
# {"state": false, "capability": "postcopy-ram"},
# {"state": false, "capability": "x-colo"}
diff --git a/migration/options.c b/migration/options.c
index 318850ba94..edb16ad9fa 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -188,7 +188,6 @@ const Property migration_properties[] = {
DEFINE_PROP_MIG_CAP("x-xbzrle", MIGRATION_CAPABILITY_XBZRLE),
DEFINE_PROP_MIG_CAP("x-rdma-pin-all", MIGRATION_CAPABILITY_RDMA_PIN_ALL),
DEFINE_PROP_MIG_CAP("x-auto-converge", MIGRATION_CAPABILITY_AUTO_CONVERGE),
- DEFINE_PROP_MIG_CAP("x-zero-blocks", MIGRATION_CAPABILITY_ZERO_BLOCKS),
DEFINE_PROP_MIG_CAP("x-events", MIGRATION_CAPABILITY_EVENTS),
DEFINE_PROP_MIG_CAP("x-postcopy-ram", MIGRATION_CAPABILITY_POSTCOPY_RAM),
DEFINE_PROP_MIG_CAP("x-postcopy-preempt",
@@ -576,10 +575,6 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp)
ERRP_GUARD();
MigrationIncomingState *mis = migration_incoming_get_current();
- if (new_caps[MIGRATION_CAPABILITY_ZERO_BLOCKS]) {
- warn_report("zero-blocks capability is deprecated");
- }
-
if (new_caps[MIGRATION_CAPABILITY_X_COLO]) {
warn_report("COLO migration framework is deprecated");
}
--
2.50.1
Peter Xu <peterx@redhat.com> writes: > It was declared deprecated since 9.2. > > Signed-off-by: Peter Xu <peterx@redhat.com> > --- > docs/about/deprecated.rst | 6 ------ > docs/about/removed-features.rst | 6 ++++++ > qapi/migration.json | 11 +---------- > migration/options.c | 5 ----- > 4 files changed, 7 insertions(+), 21 deletions(-) > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index b499b2acb0..6e4e2e4833 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -575,12 +575,6 @@ deprecated in favor of explicitly using the ``file:`` URI with the > file descriptor being passed as an ``fdset``. Refer to the ``add-fd`` > command documentation for details on the ``fdset`` usage. > > -``zero-blocks`` capability (since 9.2) > -'''''''''''''''''''''''''''''''''''''' > - > -The ``zero-blocks`` capability was part of the block migration which > -doesn't exist anymore since it was removed in QEMU v9.1. > - > COLO migration framework (since 11.0) > ''''''''''''''''''''''''''''''''''''' > > diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst > index e81d79da47..8a9d21068a 100644 > --- a/docs/about/removed-features.rst > +++ b/docs/about/removed-features.rst > @@ -717,6 +717,12 @@ Block migration has been removed. For a replacement, see "QMP > invocation for live storage migration with ``blockdev-mirror`` + NBD" > in docs/interop/live-block-operations.rst. > > +``migrate-set-capabilities`` ``zero-blocks`` option (removed in 11.0) > +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > + > +The ``zero-blocks`` capability was part of the block migration capability > +that got removed. Removed with no replacement. > + Suggest something like The ``zero-blocks`` capability was accidentally left behind when block migration capability got removed in 9.1. Removed with no replacement. > ``migrate-set-parameter`` ``compress-level`` option (removed in 9.1) > '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > [...]
On Thu, Jan 15, 2026 at 07:00:45AM +0100, Markus Armbruster wrote: > Peter Xu <peterx@redhat.com> writes: > > > It was declared deprecated since 9.2. > > > > Signed-off-by: Peter Xu <peterx@redhat.com> > > --- > > docs/about/deprecated.rst | 6 ------ > > docs/about/removed-features.rst | 6 ++++++ > > qapi/migration.json | 11 +---------- > > migration/options.c | 5 ----- > > 4 files changed, 7 insertions(+), 21 deletions(-) > > > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > > index b499b2acb0..6e4e2e4833 100644 > > --- a/docs/about/deprecated.rst > > +++ b/docs/about/deprecated.rst > > @@ -575,12 +575,6 @@ deprecated in favor of explicitly using the ``file:`` URI with the > > file descriptor being passed as an ``fdset``. Refer to the ``add-fd`` > > command documentation for details on the ``fdset`` usage. > > > > -``zero-blocks`` capability (since 9.2) > > -'''''''''''''''''''''''''''''''''''''' > > - > > -The ``zero-blocks`` capability was part of the block migration which > > -doesn't exist anymore since it was removed in QEMU v9.1. > > - > > COLO migration framework (since 11.0) > > ''''''''''''''''''''''''''''''''''''' > > > > diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst > > index e81d79da47..8a9d21068a 100644 > > --- a/docs/about/removed-features.rst > > +++ b/docs/about/removed-features.rst > > @@ -717,6 +717,12 @@ Block migration has been removed. For a replacement, see "QMP > > invocation for live storage migration with ``blockdev-mirror`` + NBD" > > in docs/interop/live-block-operations.rst. > > > > +``migrate-set-capabilities`` ``zero-blocks`` option (removed in 11.0) > > +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > > + > > +The ``zero-blocks`` capability was part of the block migration capability > > +that got removed. Removed with no replacement. > > + > > Suggest something like > > The ``zero-blocks`` capability was accidentally left behind when > block migration capability got removed in 9.1. Removed with no > replacement. Will do. > > > ``migrate-set-parameter`` ``compress-level`` option (removed in 9.1) > > '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > > > > [...] > -- Peter Xu
© 2016 - 2026 Red Hat, Inc.