On Sat, Apr 23, 2016 at 11:41:51AM +0300, Denis V. Lunev wrote:
> The idea is simple - backup is "written-once" data. It is written block
> by block and it is large enough. It would be nice to save storage
> space and compress it.
> 
> These patches add the ability to compress data during backup. This
> functionality is implemented by means of adding options to the qmp/hmp
> commands(drive-backup, blockdev-backup). The implementation is quite
> simple, because the responsibility for data compression imposed on the
> format driver.
> 
> Signed-off-by: Pavel Butsykin <pbutsy...@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <d...@openvz.org>
> CC: Jeff Cody <jc...@redhat.com>
> CC: Markus Armbruster <arm...@redhat.com>
> CC: Eric Blake <ebl...@redhat.com>
> CC: John Snow <js...@redhat.com>
> 
> Pavel Butsykin (2):
>   drive-backup: added support for data compression
>   blockdev-backup: added support for data compression
> 
>  block/backup.c            | 13 +++++++++++++
>  blockdev.c                | 20 ++++++++++++++++++--
>  hmp-commands.hx           |  8 +++++---
>  hmp.c                     |  3 ++-
>  include/block/block_int.h |  1 +
>  qapi/block-core.json      |  3 ++-
>  qmp-commands.hx           |  7 +++++--
>  7 files changed, 46 insertions(+), 9 deletions(-)

bdrv_write_compressed() hasn't been called from a running VM before, it
was purely a synchronous qemu-img operation.  The
qcow2.c:qcow2_write_compressed() code doesn't seem to be written with
coroutine context in mind but I think the lock in
block/backup.c:backup_do_cow() will protect against race conditions.

Please include a test case (using qcow2?).

Attachment: signature.asc
Description: PGP signature

Reply via email to