summaryrefslogtreecommitdiff
path: root/migration.c
diff options
context:
space:
mode:
authorPeter Lieven <pl@kamp.de>2013-07-18 09:48:50 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2013-07-19 12:29:21 +0800
commit323004a39d4d8d33c744a5b108f80bfe6402fca3 (patch)
treee232d3657f529de5ac35cd785fa6fa387ab90116 /migration.c
parent8bf9344ad6883e6d85b69bab36d9d76e4257e9ed (diff)
downloadqemu-323004a39d4d8d33c744a5b108f80bfe6402fca3.tar.gz
block-migration: efficiently encode zero blocks
this patch adds a efficient encoding for zero blocks by adding a new flag indicating a block is completely zero. additionally bdrv_write_zeros() is used at the destination to efficiently write these zeroes. depending on the implementation this avoids that the destination target gets fully provisioned. Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'migration.c')
-rw-r--r--migration.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/migration.c b/migration.c
index 9f5a4230d1..a9c042186d 100644
--- a/migration.c
+++ b/migration.c
@@ -493,6 +493,15 @@ bool migrate_auto_converge(void)
return s->enabled_capabilities[MIGRATION_CAPABILITY_AUTO_CONVERGE];
}
+bool migrate_zero_blocks(void)
+{
+ MigrationState *s;
+
+ s = migrate_get_current();
+
+ return s->enabled_capabilities[MIGRATION_CAPABILITY_ZERO_BLOCKS];
+}
+
int migrate_use_xbzrle(void)
{
MigrationState *s;