From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35575) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOV5Y-00009x-Qb for qemu-devel@nongnu.org; Wed, 27 Jan 2016 13:45:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aOV5X-0005VC-Mu for qemu-devel@nongnu.org; Wed, 27 Jan 2016 13:45:08 -0500 References: <1453780743-16806-1-git-send-email-famz@redhat.com> From: Max Reitz Message-ID: <56A91027.2090502@redhat.com> Date: Wed, 27 Jan 2016 19:44:55 +0100 MIME-Version: 1.0 In-Reply-To: <1453780743-16806-1-git-send-email-famz@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="cahhp9RIBvV4bis8ixECkKAsRkrxtTuoh" Subject: Re: [Qemu-devel] [PATCH v9 00/16] qemu-img map: Allow driver to return file of the allocated block List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng , qemu-devel@nongnu.org Cc: Kevin Wolf , pbonzini@redhat.com, Stefan Hajnoczi , qemu-block@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --cahhp9RIBvV4bis8ixECkKAsRkrxtTuoh Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: quoted-printable On 26.01.2016 04:58, Fam Zheng wrote: > v9: 01: Add comment for the new parameter, and remove the superfluous r= eset of > 'file'. [Kevin] > 04: bs =3D> bs->file->bs. [Kevin] > 11: Split the bugfix. [Kevin] > 15: Don't corrupt 059.out. [Max] >=20 > v8: Fix patch 15. [Max] > Add Max's rev-by in patch 1. >=20 > v7: Rebase, update patch 1 for two new bdrv_get_block_status_above() ca= llers in > qemu-img.c. [Max] > Add Max's rev-by in patch 12. >=20 > Original cover letter > --------------------- >=20 > I stumbled upon this when looking at external bitmap formats. >=20 > Current "qemu-img map" command only displays filename if the data is al= located > in bs (bs->file) itself, or in the backing chain. Otherwise, it display= s an > unfriendly error message: >=20 > $ qemu-img create -f vmdk -o subformat=3DmonolithicFlat /tmp/test.v= mdk 1G >=20 > $ qemu-img map /tmp/test.vmdk > Offset Length Mapped to File > qemu-img: File contains external, encrypted or compressed clusters.= >=20 > This can be improved. This series extends the .bdrv_co_get_block_status= > callback, to let block driver return the BDS of file; then updates all = driver > to implement it; and lastly, it changes qemu-img to use this informatio= n in > "map" command: >=20 >=20 > $ qemu-img map /tmp/test.vmdk > Offset Length Mapped to File > 0 0x40000000 0 /tmp/test-flat.vmdk= >=20 > $ qemu-img map --output json /tmp/test.vmdk > [{"length": 1073741824, "start": 0, "zero": false, "offset": 0, "de= pth": 0, > "file": "/tmp/test-flat.vmdk", "data": true} > ] >=20 >=20 > Fam Zheng (16): > block: Add "file" output parameter to block status query functions > qcow: Assign bs->file->bs to file in qcow_co_get_block_status > qcow2: Assign bs->file->bs to file in qcow2_co_get_block_status > raw: Assign bs to file in raw_co_get_block_status > iscsi: Assign bs to file in iscsi_co_get_block_status > parallels: Assign bs->file->bs to file in > parallels_co_get_block_status > qed: Assign bs->file->bs to file in bdrv_qed_co_get_block_status > sheepdog: Assign bs to file in sd_co_get_block_status > vdi: Assign bs->file->bs to file in vdi_co_get_block_status > vpc: Assign bs->file->bs to file in vpc_co_get_block_status > vmdk: Fix calculation of block status's offset > vmdk: Return extent's file in bdrv_get_block_status > block: Use returned *file in bdrv_co_get_block_status > qemu-img: In "map", use the returned "file" from bdrv_get_block_statu= s > qemu-img: Make MapEntry a QAPI struct > iotests: Add "qemu-img map" test for VMDK extents >=20 > block/io.c | 44 ++++++++++++++++-------- > block/iscsi.c | 9 +++-- > block/mirror.c | 3 +- > block/parallels.c | 3 +- > block/qcow.c | 3 +- > block/qcow2.c | 3 +- > block/qed.c | 6 +++- > block/raw-posix.c | 4 ++- > block/raw_bsd.c | 4 ++- > block/sheepdog.c | 5 ++- > block/vdi.c | 3 +- > block/vmdk.c | 12 ++++--- > block/vpc.c | 4 ++- > block/vvfat.c | 2 +- > include/block/block.h | 11 +++--- > include/block/block_int.h | 3 +- > qapi/block-core.json | 27 +++++++++++++++ > qemu-img.c | 84 ++++++++++++++++++++++++++++----------= -------- > tests/qemu-iotests/059 | 10 ++++++ > tests/qemu-iotests/059.out | 25 ++++++++++++++ > 20 files changed, 195 insertions(+), 70 deletions(-) Thanks, applied to my block tree: https://github.com/XanClic/qemu/commits/block Max --cahhp9RIBvV4bis8ixECkKAsRkrxtTuoh Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWqRAnAAoJEDuxQgLoOKytk3UH+QHFRUDnmvkJN7nndEaNVa5i 32TABnZ3ZqyycFB+aMTRnYIeMVmlqVC8lnEboLg1BA9hATz/hoa9nG9yVfaofRiK A6NqzeitVdSdaJB0HALFzkexTARBWtLRE+5kuEVpoyWS8BMYpLATPxzasbnhCkFZ +sYUUUUr1/IGoBG0nGEF5XaHq46RmubSV+QCFLOlJTV66l8KGmcZ/BweZk5S8Phc r6rrRzhE+fjWQfLKammJybE3qy71HsDCIn7MEh0zCvzWG9Evx58c/CRdKpYymRWi 1VDdbCshInHxIy0nwPhEOSYTu9M+RF+GnaH3G5StkNuHNSRTU5pC1WLuyrf7qQg= =HuYz -----END PGP SIGNATURE----- --cahhp9RIBvV4bis8ixECkKAsRkrxtTuoh--