From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52127) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bWkQH-0006y3-V0 for qemu-devel@nongnu.org; Mon, 08 Aug 2016 09:16:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bWkQF-0006H5-JE for qemu-devel@nongnu.org; Mon, 08 Aug 2016 09:16:52 -0400 Date: Mon, 8 Aug 2016 15:16:44 +0200 From: Kevin Wolf Message-ID: <20160808131644.GB25992@noname.str.redhat.com> References: <1469175475-15420-1-git-send-email-den@openvz.org> <20160808130244.GH30105@stefanha-x1.localdomain> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="vtzGhvizbBRQ85DL" Content-Disposition: inline In-Reply-To: <20160808130244.GH30105@stefanha-x1.localdomain> Subject: Re: [Qemu-devel] [PATCH v7 00/16] backup compression List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: "Denis V. Lunev" , qemu-block@nongnu.org, qemu-devel@nongnu.org, Pavel Butsykin , Jeff Cody , Markus Armbruster , Stefan Hajnoczi , John Snow --vtzGhvizbBRQ85DL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Am 08.08.2016 um 15:02 hat Stefan Hajnoczi geschrieben: > On Fri, Jul 22, 2016 at 11:17:39AM +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. > >=20 > > 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. > >=20 > > Changes from v1: > > - added unittest for backup compression (12, 13) > >=20 > > Changes from v2: > > - implemented a new .bdrv_co_write_compressed interface to replace the > > old .bdrv_write_compressed (2,3,4,5,6) > >=20 > > Changes from v3: > > - added the byte-based interfaces: > > blk_pwrite_compressed()/blk_co_pwritev_compressed() (1, 7) > > - fix drive/blockdev-backup documentation (10, 11) > >=20 > > Changes from 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, 1= 3) > > - fix s/bakup/backup/ (14) > >=20 > > Changes from v5: > > - rebased on master > > - fix grammar (5, 8) > >=20 > > Changes from v6: > > - more grammar fixes (1,11) > > - assignment cleanup as suggested by Eric in 11 > >=20 > > 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 > >=20 > > Pavel Butsykin (16): > > block: switch blk_write_compressed() to byte-based interface > > block: Convert bdrv_pwrite_compressed() to BdrvChild > > 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 > >=20 > > block/backup.c | 12 ++- > > block/block-backend.c | 27 +----- > > block/io.c | 48 ++++------ > > block/qcow.c | 113 +++++++++--------------- > > block/qcow2.c | 128 ++++++++++----------------- > > block/vmdk.c | 55 ++---------- > > blockdev.c | 193 ++++++++++++++-------------------= -------- > > hmp-commands.hx | 8 +- > > hmp.c | 24 ++--- > > 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, 366 insertions(+), 425 deletions(-) > >=20 > > --=20 > > 2.1.4 > >=20 > >=20 >=20 > Since no one else has applied this... >=20 > Thanks, applied to my block-next tree: > https://github.com/stefanha/qemu/commits/block-next Sorry, I was planning to actually give it a review (at least a quick one) before I'd merge it. ;-) That's the next thing I'm going to do. Kevin --vtzGhvizbBRQ85DL Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJXqIY8AAoJEH8JsnLIjy/WQVoQAL90zXLqK+iZWD7sPWROKXTC sCMZJcNqhalcmCK1OV+wHqiB6H+fVpB5o9TOHSq4D5KAsGKEpnlPZfZMID6vDXib VEnsjv5Cgv0Qxd/cMVfWCSXLh/iwv9jZvYrx11Hhy5KjOYNlDsstuelRDkXbQOG3 azQl87YFQck6YSKW4Mi2sM2mpEyoDhOQ6h53lKSKRW3Tu/kyIglLU8fcih1Y4qEf PaC8fRYBQw2mlYBI0nK/nG+JxPj2nAX47Gxqq3u7VkH/vsAjq2NwqvB1J7Mm/Bjw Ry9AJn+K2xAO1wlkgn0k7mT1jWh533CSOQ/VCe/ccwtOUtiENo7H6mdlum2b+bgk EgqbhG9Cr/8mA/5xAjsHUmy7WOCSc2hrtvwz/fHph60OXnZGO/psSJECc5LUarVJ Hi262Z9tTgH6SFDiuBn1VvNTF8JYfjnoKzeu73mNS0o7oAXigY5brPc32wR8zFQP mWYqYCPOGTPwsox386ANQUUA/Gb1FscePzIw4VrFckTUQf9XY0q4unAdjpE61Mls IcuF8uyXEm0OyNiq+Q345dgGyEmH9MwPFiSXh84aI3nYhR4Z2r3OSB0rHAWerbek BpIDhAH+7IXoLshCiA1Phk9kuhc2Cq++d/Xp/rf9TkXHzIS6+pA+wMd9/H7nEmfS xKGG1ekWYvlkwS1YPALB =sGPa -----END PGP SIGNATURE----- --vtzGhvizbBRQ85DL--