Hi,

Thanks for the reviews in the last round. Your feedback has allowed me
to reduce the complexity of the series and the code considerably.

Changes in this v2:

- Followed the suggestion to unify the TLS strings as StrOrNull. This
  allows the complete removal of the MigrateSetParameters
  type. Therefore, no need for playing tricks with base types.

- I figured out that block_bitmap_mapping was set as optional in
  qmp_query_migrate_parameters in error. Fixing that allows to
  simplify that function somewhat.

- The suggestion of not checking the has_* fields when setting the
  parameters also led to great simplification. Now there's no need to
  open-code the setting of every single parameter.

- Deprecated the capabilities commands.

- Removed some redundant documentation from migration.json. Now
  there's only 1 (one) place where migration parameters need to be
  documented.

The series:
- passes CI: https://gitlab.com/farosas/qemu/-/pipelines/1849885920
- passes the migration tests in the ASAN build.
- passes the migration compat tests against each of the 3 last QEMU versions.
- passes the iotest 300 (related to block_bitmap_mapping).

v1:
https://lore.kernel.org/r/20250411191443.22565-1-faro...@suse.de

Fabiano Rosas (21):
  migration: Normalize tls arguments
  migration: Remove MigrateSetParameters
  qapi/migration: Don't document MigrationParameter
  migration: Run a post update routine after setting parameters
  migration: Add a flag to track block-bitmap-mapping input
  migration: Remove checks for s->parameters has_* fields
  migration: Set block_bitmap_mapping unconditionally in
    query-migrate-parameters
  migration: Do away with usage of QERR_INVALID_PARAMETER_VALUE
  migration: Extract code to mark all parameters as present
  migration: Use QAPI_CLONE_MEMBERS in query_migrate_parameters
  migration: Use QAPI_CLONE_MEMBERS in migrate_params_test_apply
  migration: Use QAPI_CLONE_MEMBERS in migrate_params_apply
  migration: Use visitors in migrate_params_test_apply
  migration: Cleanup hmp_info_migrate_parameters
  migration: Add capabilities into MigrationParameters
  qapi/migration: Mark that query/set-migrate-parameters support
    capabilities
  migration: Remove s->capabilities
  qapi/migration: Deprecate capabilities commands
  migration: Allow migrate commands to provide the migration config
  libqtest: Add a function to check whether a QMP command supports a
    feature
  tests/qtest/migration: Add a test for config passing

 docs/about/deprecated.rst          |   12 +
 migration/migration-hmp-cmds.c     |  484 ++++++++----
 migration/migration.c              |   50 +-
 migration/migration.h              |    9 +-
 migration/options.c                | 1090 +++++++++++++---------------
 migration/options.h                |   29 +-
 migration/page_cache.c             |    6 +-
 migration/ram.c                    |    5 +-
 migration/savevm.c                 |    8 +-
 migration/tls.c                    |    2 +-
 qapi/migration.json                |  573 ++++++---------
 qapi/pragma.json                   |    3 +-
 system/vl.c                        |    3 +-
 tests/qtest/libqtest.c             |   42 ++
 tests/qtest/libqtest.h             |   12 +
 tests/qtest/migration/framework.h  |    2 +
 tests/qtest/migration/misc-tests.c |   39 +
 17 files changed, 1243 insertions(+), 1126 deletions(-)

-- 
2.35.3


Reply via email to