[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 11/11] migration: check global caps for validity
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH v2 11/11] migration: check global caps for validity |
Date: |
Mon, 17 Jul 2017 16:26:11 +0800 |
Checks validity for all the capabilities that we enabled with command
line. Stop the VM if detected anything wrong.
Signed-off-by: Peter Xu <address@hidden>
---
migration/migration.c | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index 300f84d..b2667d0 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2142,6 +2142,9 @@ static void migration_instance_post_init(Object *obj)
{
MigrationState *ms = (MigrationState *)obj;
Error *err = NULL;
+ MigrationCapabilityStatusList *head = NULL;
+ /* Assuming all off */
+ bool cap_list[MIGRATION_CAPABILITY__MAX] = { 0 };
MigrationParameters params = {
.has_compress_level = true,
.compress_level = ms->parameters.compress_level,
@@ -2162,13 +2165,35 @@ static void migration_instance_post_init(Object *obj)
.has_block_incremental = true,
.block_incremental = ms->parameters.block_incremental,
};
+ int i;
/* We have applied all the migration properties... */
if (!migrate_params_check(¶ms, &err)) {
+ goto error;
+ }
+
+ for (i = 0; i < MIGRATION_CAPABILITY__MAX; i++) {
+ if (ms->enabled_capabilities[i]) {
+ head = migrate_cap_add(head, i, true);
+ }
+ }
+
+ if (!migrate_caps_check(cap_list, head, &err)) {
+ goto error;
+ }
+
+ qapi_free_MigrationCapabilityStatusList(head);
+ return;
+
+error:
+ if (head) {
+ qapi_free_MigrationCapabilityStatusList(head);
+ }
+ if (err) {
error_report_err(err);
- exit(1);
}
+ exit(1);
}
static const TypeInfo migration_type = {
--
2.7.4
- Re: [Qemu-devel] [PATCH v2 07/11] migration: check global params for validity, (continued)
[Qemu-devel] [PATCH v2 08/11] migration: remove check against colo support, Peter Xu, 2017/07/17
[Qemu-devel] [PATCH v2 09/11] migration: provide migrate_caps_check(), Peter Xu, 2017/07/17
[Qemu-devel] [PATCH v2 10/11] migration: provide migrate_cap_add(), Peter Xu, 2017/07/17
[Qemu-devel] [PATCH v2 11/11] migration: check global caps for validity,
Peter Xu <=