qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 16/16] migration: check global caps for validity


From: Juan Quintela
Subject: [Qemu-devel] [PULL 16/16] migration: check global caps for validity
Date: Tue, 18 Jul 2017 17:41:27 +0200

From: Peter Xu <address@hidden>

Checks validity for all the capabilities that we enabled with command
line.

Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
---
 migration/migration.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/migration/migration.c b/migration/migration.c
index 0ebdde1..7615391 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2166,11 +2166,27 @@ static void migration_instance_init(Object *obj)
  */
 static bool migration_object_check(MigrationState *ms, Error **errp)
 {
+    MigrationCapabilityStatusList *head = NULL;
+    /* Assuming all off */
+    bool cap_list[MIGRATION_CAPABILITY__MAX] = { 0 }, ret;
+    int i;
+
     if (!migrate_params_check(&ms->parameters, errp)) {
         return false;
     }
 
-    return true;
+    for (i = 0; i < MIGRATION_CAPABILITY__MAX; i++) {
+        if (ms->enabled_capabilities[i]) {
+            head = migrate_cap_add(head, i, true);
+        }
+    }
+
+    ret = migrate_caps_check(cap_list, head, errp);
+
+    /* It works with head == NULL */
+    qapi_free_MigrationCapabilityStatusList(head);
+
+    return ret;
 }
 
 static const TypeInfo migration_type = {
-- 
2.9.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]