On Mon, Dec 15, 2025 at 06:59:49PM -0300, Fabiano Rosas wrote: > The MigrationState is a QOM object with TYPE_DEVICE as a parent. This > was done about eight years ago so the migration code could make use of > qdev properties to define the defaults for the migration parameters > and to be able to expose migration knobs for debugging via the > '-global migration' command line option. > > Due to unrelated historical reasons, three of the migration parameters > (TLS options) received different types when used via the > query-migrate-parameters QMP command than with the > migrate-set-parameters command. This has created a lot of duplication > in the migration code and in the QAPI documentation because the whole > of MigrationParameters had to be duplicated as well. > > The migration code is now being fixed to remove the duplication and > for that to happen the offending fields need to be reconciled into a > single type. The StrOrNull type is going to be used. > > To keep the command line compatibility, the parameters need to > continue being exposed via qdev properties accessible from the command > line. Introduce a qdev property StrOrNull just for that. > > Note that this code is being kept in migration/options.c as this > version of StrOrNull doesn't need to handle QNULL because it was never > a valid option in the previous command line, which took a string. > > Signed-off-by: Fabiano Rosas <[email protected]>
Acked-by: Peter Xu <[email protected]> -- Peter Xu
