void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
{
MigrationParameters *params;
+ MigrationState *s = migrate_get_current();
params = qmp_query_migrate_parameters(NULL);
MigrationParameter_str(MIGRATION_PARAMETER_XBZRLE_CACHE_SIZE),
params->xbzrle_cache_size);
- if (params->has_block_bitmap_mapping) {
+ if (s->has_block_bitmap_mapping) {
const BitmapMigrationNodeAliasList *bmnal;
monitor_printf(mon, "%s:\n",
QemuEvent postcopy_package_loaded_event;
GSource *hup_source;
+
+ /*
+ * The block-bitmap-mapping option is allowed to be an empty list,
+ * therefore we need a way to know whether the user has given
+ * anything as input.
+ */
+ bool has_block_bitmap_mapping;
};
void migrate_set_state(MigrationStatus *state, MigrationStatus old_state,
{
MigrationState *s = migrate_get_current();
- return s->parameters.has_block_bitmap_mapping;
+ return s->has_block_bitmap_mapping;
}
uint32_t migrate_checkpoint_delay(void)
params->has_announce_step = true;
params->announce_step = s->parameters.announce_step;
- if (s->parameters.has_block_bitmap_mapping) {
+ if (s->has_block_bitmap_mapping) {
params->has_block_bitmap_mapping = true;
params->block_bitmap_mapping =
QAPI_CLONE(BitmapMigrationNodeAliasList,
qapi_free_BitmapMigrationNodeAliasList(
s->parameters.block_bitmap_mapping);
- s->parameters.has_block_bitmap_mapping = true;
+ s->has_block_bitmap_mapping = true;
s->parameters.block_bitmap_mapping =
QAPI_CLONE(BitmapMigrationNodeAliasList,
params->block_bitmap_mapping);