diff options
author | Peter Lieven <pl@kamp.de> | 2013-07-18 09:48:50 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-07-19 12:29:21 +0800 |
commit | 323004a39d4d8d33c744a5b108f80bfe6402fca3 (patch) | |
tree | e232d3657f529de5ac35cd785fa6fa387ab90116 /migration.c | |
parent | 8bf9344ad6883e6d85b69bab36d9d76e4257e9ed (diff) |
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.c | 9 |
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; |