Merge migration capabilities and parameters in MigrationState and
deprecate migration capabilities QMP commands.

v2:

- TLS options:
  - Normalize to "abc"|"" during parameter handling.
  - Normalize to "abc"|NULL when exposing to rest of migration
    code.

- Reverted block_bitmap_mapping to truly optional in
  query-migrate-parameters. It's an API break to make it
  non-optional. Fortunately it doesn't get in the way of the rest of
  the series.

- Haven't made s->parameters a pointer. It breaks qdev properties,
  which need to use offsetof.

CI run: https://gitlab.com/farosas/qemu/-/pipelines/1898505234

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

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

Fabiano Rosas (24):
  migration: Fix leak of block_bitmap_mapping
  migration: Add a qdev property for StrOrNull
  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: 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
  migration: Remove s->capabilities
  qapi/migration: Deprecate capabilities commands
  migration: Store the initial values used for s->parameters
  migration: Allow migrate commands to provide the migration config
  tests/qtest/migration: Take reference when passing %p to qtest_qmp
  tests/qtest/migration: Adapt the capabilities helper to take a config
  tests/qtest/migration: Adapt convergence routines to config
  tests/qtest/migration: Pass the migration config to file tests

 docs/about/deprecated.rst             |   12 +
 migration/migration-hmp-cmds.c        |  490 ++++++++---
 migration/migration.c                 |   49 +-
 migration/migration.h                 |   14 +-
 migration/options.c                   | 1154 ++++++++++++-------------
 migration/options.h                   |   30 +-
 migration/page_cache.c                |    6 +-
 migration/ram.c                       |    5 +-
 migration/savevm.c                    |    8 +-
 migration/tls.c                       |    2 +-
 qapi/migration.json                   |  558 ++++--------
 qapi/pragma.json                      |    1 +
 system/vl.c                           |    3 +-
 tests/qtest/migration/file-tests.c    |   68 +-
 tests/qtest/migration/framework.c     |   50 +-
 tests/qtest/migration/framework.h     |    1 +
 tests/qtest/migration/migration-qmp.c |   30 +-
 tests/qtest/migration/migration-qmp.h |    4 +-
 tests/qtest/migration/misc-tests.c    |    4 +-
 tests/qtest/migration/precopy-tests.c |   23 +-
 20 files changed, 1315 insertions(+), 1197 deletions(-)

-- 
2.35.3


Reply via email to