summaryrefslogtreecommitdiffstats
path: root/migration/migration.c
diff options
context:
space:
mode:
authorYury Kotov2019-02-15 18:45:45 +0100
committerDr. David Alan Gilbert2019-03-06 11:49:17 +0100
commit18269069c31089c3b42ef78ddffe1ee5799e2708 (patch)
treec104198b6087f6366578e491819ca0162b0803b2 /migration/migration.c
parentexec: Change RAMBlockIterFunc definition (diff)
downloadqemu-18269069c31089c3b42ef78ddffe1ee5799e2708.tar.gz
qemu-18269069c31089c3b42ef78ddffe1ee5799e2708.tar.xz
qemu-18269069c31089c3b42ef78ddffe1ee5799e2708.zip
migration: Introduce ignore-shared capability
We want to use local migration to update QEMU for running guests. In this case we don't need to migrate shared (file backed) RAM. So, add a capability to ignore such blocks during live migration. Signed-off-by: Yury Kotov <yury-kotov@yandex-team.ru> Message-Id: <20190215174548.2630-3-yury-kotov@yandex-team.ru> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration/migration.c')
-rw-r--r--migration/migration.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/migration/migration.c b/migration/migration.c
index d45561f9b8..e823fd8b91 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -995,6 +995,11 @@ static bool migrate_caps_check(bool *cap_list,
error_setg(errp, "Postcopy is not supported");
return false;
}
+
+ if (cap_list[MIGRATION_CAPABILITY_X_IGNORE_SHARED]) {
+ error_setg(errp, "Postcopy is not compatible with ignore-shared");
+ return false;
+ }
}
return true;
@@ -2074,6 +2079,15 @@ bool migrate_dirty_bitmaps(void)
return s->enabled_capabilities[MIGRATION_CAPABILITY_DIRTY_BITMAPS];
}
+bool migrate_ignore_shared(void)
+{
+ MigrationState *s;
+
+ s = migrate_get_current();
+
+ return s->enabled_capabilities[MIGRATION_CAPABILITY_X_IGNORE_SHARED];
+}
+
bool migrate_use_events(void)
{
MigrationState *s;