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