From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33073) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPph2-000410-UV for qemu-devel@nongnu.org; Wed, 20 Jul 2016 07:29:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bPpgy-0000sA-NM for qemu-devel@nongnu.org; Wed, 20 Jul 2016 07:29:35 -0400 Received: from mail-db5eur01on0118.outbound.protection.outlook.com ([104.47.2.118]:54208 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPpgy-0000s1-7S for qemu-devel@nongnu.org; Wed, 20 Jul 2016 07:29:32 -0400 References: <1467635306-31875-1-git-send-email-den@openvz.org> <20160719215825.GD15881@localhost.localdomain> From: Pavel Butsykin Message-ID: <578F4A8F.2020607@virtuozzo.com> Date: Wed, 20 Jul 2016 12:55:27 +0300 MIME-Version: 1.0 In-Reply-To: <20160719215825.GD15881@localhost.localdomain> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 00/15] backup compression List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody , "Denis V. Lunev" Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org, Markus Armbruster , Eric Blake , John Snow , Stefan Hajnoczi , Kevin Wolf On 20.07.2016 00:58, Jeff Cody wrote: > 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? > Ok, probably will have to add a separate patch for convert bdrv_pwrite_compressed() to BdrvChild. > Thanks, > Jeff >