From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32884) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPd2D-0008He-9o for qemu-devel@nongnu.org; Tue, 19 Jul 2016 17:58:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bPd2B-0007nT-0X for qemu-devel@nongnu.org; Tue, 19 Jul 2016 17:58:36 -0400 Date: Tue, 19 Jul 2016 17:58:25 -0400 From: Jeff Cody Message-ID: <20160719215825.GD15881@localhost.localdomain> References: <1467635306-31875-1-git-send-email-den@openvz.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1467635306-31875-1-git-send-email-den@openvz.org> Subject: Re: [Qemu-devel] [PATCH v5 00/15] backup compression List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org, Pavel Butsykin , Markus Armbruster , Eric Blake , John Snow , Stefan Hajnoczi , Kevin Wolf On Mon, Jul 04, 2016 at 03:28:11PM +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. > > This patchset is based on the Eric's QAPI changes > http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi > > Signed-off-by: Pavel Butsykin > Signed-off-by: Denis V. Lunev > CC: Jeff Cody > CC: Markus Armbruster > CC: Eric Blake > CC: John Snow > CC: Stefan Hajnoczi > CC: Kevin Wolf > > Changes from v1: > - added unittest for backup compression (12, 13) > > Changes from v2: > - implemented a new .bdrv_co_write_compressed interface to replace the > old .bdrv_write_compressed (2,3,4,5,6) > > Changes from v3: > - added the byte-based interfaces: > blk_pwrite_compressed()/blk_co_pwritev_compressed() (1, 7) > - fix drive/blockdev-backup documentation (10, 11) > > Changes form v4: > - added assert that offset and count are aligned (1) > - reuse RwCo and bdrv_co_pwritev() for write compressed (2) > - converted interfaces to byte-based for format drivers (2, 3, 5, 6) > - move an unrelated cleanup in a separate patches (4, 7) > - turn on dirty_bitmaps for the compressed writes (9) > - added simplify drive/blockdev-backup by using the boxed commands (10, 11) > - reworded drive/blockdev-backup documentation about compression (12, 13) > - fix s/bakup/backup/ (14) > > Pavel Butsykin (15): > block: switch blk_write_compressed() to byte-based interface > block/io: reuse bdrv_co_pwritev() for write compressed > qcow2: add qcow2_co_pwritev_compressed > qcow2: cleanup qcow2_co_pwritev_compressed to avoid the recursion > vmdk: add vmdk_co_pwritev_compressed > qcow: add qcow_co_pwritev_compressed > qcow: cleanup qcow_co_pwritev_compressed to avoid the recursion > block: remove BlockDriver.bdrv_write_compressed > block/io: turn on dirty_bitmaps for the compressed writes > block: simplify drive-backup > block: simplify blockdev-backup > drive-backup: added support for data compression > blockdev-backup: added support for data compression > qemu-iotests: test backup compression in 055 > qemu-iotests: add vmdk for test backup compression in 055 > > block/backup.c | 12 ++- > block/block-backend.c | 12 +-- > block/io.c | 37 ++++----- > block/qcow.c | 71 +++++++++------- > block/qcow2.c | 83 +++++++++++-------- > block/vmdk.c | 55 ++----------- > blockdev.c | 182 ++++++++++++++--------------------------- > hmp-commands.hx | 8 +- > hmp.c | 32 +++++--- > include/block/block.h | 5 +- > include/block/block_int.h | 5 +- > include/sysemu/block-backend.h | 4 +- > qapi/block-core.json | 18 +++- > qemu-img.c | 8 +- > qemu-io-cmds.c | 2 +- > qmp-commands.hx | 9 +- > tests/qemu-iotests/055 | 118 ++++++++++++++++++++++++++ > tests/qemu-iotests/055.out | 4 +- > tests/qemu-iotests/iotests.py | 10 +-- > 19 files changed, 369 insertions(+), 306 deletions(-) > > -- > 2.1.4 > This series needs a rebase, I cannot apply it to my branch (or qemu/master) without a lot of conflicts. Can you rebase? Thanks, Jeff