[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 3/7] migration: Refactor migrate_cap_add
From: |
Eric Blake |
Subject: |
[PATCH v3 3/7] migration: Refactor migrate_cap_add |
Date: |
Wed, 23 Dec 2020 16:10:58 -0600 |
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. Update some variable names to avoid long
lines, and drop a useless comment.
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
---
migration/migration.c | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index e0dbde4091c9..bba6e5148138 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1654,29 +1654,27 @@ 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 *caps = NULL;
+ MigrationCapabilityStatus *cap;
- cap = migrate_cap_add(NULL, MIGRATION_CAPABILITY_BLOCK, value);
- qmp_migrate_set_capabilities(cap, errp);
- qapi_free_MigrationCapabilityStatusList(cap);
+ cap = migrate_cap_add(MIGRATION_CAPABILITY_BLOCK, value);
+ QAPI_LIST_PREPEND(caps, cap);
+ qmp_migrate_set_capabilities(caps, errp);
+ qapi_free_MigrationCapabilityStatusList(caps);
}
static void migrate_set_block_incremental(MigrationState *s, bool value)
@@ -3863,13 +3861,12 @@ 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));
}
}
ret = migrate_caps_check(cap_list, head, errp);
- /* It works with head == NULL */
qapi_free_MigrationCapabilityStatusList(head);
return ret;
--
2.29.2
- [PATCH v3 0/7] Common macros for QAPI list growth, Eric Blake, 2020/12/23
- [PATCH v3 2/7] rocker: Revamp fp_port_get_info, Eric Blake, 2020/12/23
- [PATCH v3 3/7] migration: Refactor migrate_cap_add,
Eric Blake <=
- [PATCH v3 1/7] net: Clarify early exit condition, Eric Blake, 2020/12/23
- [PATCH v3 5/7] qapi: Introduce QAPI_LIST_APPEND, Eric Blake, 2020/12/23
- [PATCH v3 6/7] qapi: Use QAPI_LIST_APPEND in trivial cases, Eric Blake, 2020/12/23
- [PATCH v3 7/7] qapi: More complex uses of QAPI_LIST_APPEND, Eric Blake, 2020/12/23
- [PATCH v3 4/7] qapi: Use QAPI_LIST_PREPEND() where possible, Eric Blake, 2020/12/23