On Mon, Dec 15, 2025 at 06:59:46PM -0300, Fabiano Rosas wrote: > Hi, the scope of this series is the same as the previous versions, but > to be explicit, these are various parts of which it's comprised: > > 1) Remove duplication of migration parameters documentation in > migration.json. > > 2) Merge migration capabilities and parameters in MigrationState (as > visible internally in migration code). > > 3) Deprecate migration capabilities QMP commands. Functionality > previously provided by "capabilities" commands are now provided by > "parameters" commands. > > 4) Introduce new 'config' argument to migration commands taking the > entire set of options to use for a migration. Obsoletes the usage > of migrate-set-parameters, except for "runtime" options, which are > as of yet uncovered by this proposal. > > 5) Adapt all migration-test(s) to use the new config API exclusively. > > Notable changes in this v3: > > - Added the setter for the new StrOrNull qdev property > - Move the visitor code into a new QAPI_MERGE macro > - Converted all tests to use config > - Unfortunate side-quest: rework the TLS test hooks to support > setting options before migrate_start. > > CI run: https://gitlab.com/farosas/qemu/-/pipelines/2216127826 > > v2: > https://lore.kernel.org/r/[email protected] > > v1: > https://lore.kernel.org/r/[email protected] > > RFC: > https://lore.kernel.org/r/[email protected] > > Fabiano Rosas (51): > migration: Fix leak of block_bitmap_mapping > migration: Fix leak of cpr_exec_command > migration: Add a qdev property for StrOrNull > tests/qtest/migration: Add a NULL parameters test for TLS > 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 > qapi: Add QAPI_MERGE > migration: Use QAPI_MERGE 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 > migration: Allow incoming cmdline to take config > tests/qtest/migration: Pass MigrateCommon into test functions > tests/qtest/migration: Pass MigrateStart into cancel tests > tests/qtest/migration: Fix misuse of listen_uri > tests/qtest/migration: Stop invoking migrate_incoming from hooks > tests/qtest/migration: Add config QDict > tests/qtest/migration: Add temporary code to toggle usage of config > tests/qtest/migration: Add a function for default capabilities > tests/qtest/migration: Adapt convergence routines to config > tests/qtest/migration: Adapt the incoming cmdline for config passing > tests/qtest/migration: Use migrate_incoming_qmp where possible > tests/qtest/migration: Add a config parameter to migrate_qmp functions > tests/qtest/migration: Move tls hook data out of specific hooks > tests/qtest/migration: Add new hook with data > tests/qtest/migration: TLS x509: Refactor to use full hook > tests/qtest/migration: TLS x509: Add init/cleanup routines > tests/qtest/migration: TLS PSK: Refactor to use full hook > tests/qtest/migration: TLS PSK: Add init/cleanup routines > tests/qtest/migration: Remove multifd compression hook > tests/qtest/migration: Convert postcopy tests to use config > tests/qtest/migration: Convert TLS PSK tests to use config > tests/qtest/migration: Convert TLS x509 tests to use config > tests/qtest/migration: Convert compression tests to use config > tests/qtest/migration: Convert file tests to use config > tests/qtest/migration: Convert misc-tests to use config > tests/qtest/migration: Convert precopy tests to use config > tests/qtest/migration: Remove migrate_set_capabilities and code around > it > tests/qtest/migration: Further simplify TLS tests
I'll keep reviewing the rest test changes.. while I've queued patches 1-13,25,26 for the upcoming pull for qemu 11.0. Please shoot if there's any concerns. Thanks, -- Peter Xu
