aboutsummaryrefslogtreecommitdiff
path: root/migration
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2020-11-12 19:13:36 -0600
committerMarkus Armbruster <armbru@redhat.com>2020-12-19 10:15:08 +0100
commiteaedde5255842e8add96bec127567e2a8b3be9a8 (patch)
tree9b7fee3c16c29e377576dd4be6da7641390ff4ff /migration
parentfe4d7e338faf7809024017e373b15dd8ac82094d (diff)
migration: Refactor migrate_cap_add
Instead of taking a list parameter and returning a new head at a distance, just return the new item for the caller to insert into a list via QAPI_LIST_PREPEND. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20201113011340.463563-4-eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r--migration/migration.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/migration/migration.c b/migration/migration.c
index e0dbde4091..ccf969a62e 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1654,27 +1654,23 @@ void migrate_set_state(int *state, int old_state, int new_state)
}
}
-static MigrationCapabilityStatusList *migrate_cap_add(
- MigrationCapabilityStatusList *list,
- MigrationCapability index,
- bool state)
+static MigrationCapabilityStatus *migrate_cap_add(MigrationCapability index,
+ bool state)
{
- MigrationCapabilityStatusList *cap;
+ MigrationCapabilityStatus *cap;
- cap = g_new0(MigrationCapabilityStatusList, 1);
- cap->value = g_new0(MigrationCapabilityStatus, 1);
- cap->value->capability = index;
- cap->value->state = state;
- cap->next = list;
+ cap = g_new0(MigrationCapabilityStatus, 1);
+ cap->capability = index;
+ cap->state = state;
return cap;
}
void migrate_set_block_enabled(bool value, Error **errp)
{
- MigrationCapabilityStatusList *cap;
+ MigrationCapabilityStatusList *cap = NULL;
- cap = migrate_cap_add(NULL, MIGRATION_CAPABILITY_BLOCK, value);
+ QAPI_LIST_PREPEND(cap, migrate_cap_add(MIGRATION_CAPABILITY_BLOCK, value));
qmp_migrate_set_capabilities(cap, errp);
qapi_free_MigrationCapabilityStatusList(cap);
}
@@ -3863,7 +3859,7 @@ static bool migration_object_check(MigrationState *ms, Error **errp)
for (i = 0; i < MIGRATION_CAPABILITY__MAX; i++) {
if (ms->enabled_capabilities[i]) {
- head = migrate_cap_add(head, i, true);
+ QAPI_LIST_PREPEND(head, migrate_cap_add(i, true));
}
}