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>
This commit is contained in:
parent
fe4d7e338f
commit
eaedde5255
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user