qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 00/12] block/dmg: (compatibility) fixes and b


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v2 00/12] block/dmg: (compatibility) fixes and bzip2 support
Date: Wed, 14 Jan 2015 16:16:12 +0000
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, Jan 06, 2015 at 06:48:03PM +0100, Peter Wu wrote:
> Hi,
> 
> This is the second revision of improvements to DMG image file support.
> See [1] for an overview of the previous patchset.
> 
> Thanks to John Snow for his efforts in reviewing patches and providing
> suggestions. The errp suggestion from Stefan Hajnoczi is also
> incorporated.
> 
> An overview of changes since v1 (also mentioned in each patch):
> 
>   block/dmg: properly detect the UDIF trailer [+R-b, set errp)
>   block/dmg: extract mish block decoding functionality [+R-b, added
>         comments, expanded commit message, renamed var]
>   block/dmg: extract processing of resource forks [see patch]
>   block/dmg: process a buffer instead of reading ints [+R-b, no changes]
>   block/dmg: validate chunk size to avoid overflow [added offset check]
>   block/dmg: process XML plists [added offset check]
>   block/dmg: set virtual size to a non-zero value [fix commit message]
>   block/dmg: fix sector data offset calculation [use data provided by file]
>   block/dmg: use SectorNumber from BLKX header [new patch]
>   block/dmg: factor out block type check [extracted from bzip patch]
>   block/dmg: support bzip2 block entry types [set/use BZIP2_LIBS]
>   block/dmg: improve zeroes handling [no changes]
> 
> (the other length checking patch was squashed into the others)
> 
> Note: in the previous patches I mentioned that dmg2img would result in a
> shorter file than qemu-img convert. That turns out to be a bug in
> dmg2img for which a patch is available[2].
> 
> A quick test runner is available at
> https://lekensteyn.nl/files/dmg-tests/. This script depends on the fixed
> dmg2img program and can then be run as follows:
> 
>     QEMU_IMG=/tmp/qout/qemu-img ./run-dmg-tests.sh dmg-images/*.dmg
> 
> You will first need some DMG files, I have collected four different
> public examples with different properties[1]. These can be found in
> urls.txt at https://lekensteyn.nl/files/dmg-tests/dmg-images/.
> 
> Kind regards,
> Peter
> 
>  [1]: https://lists.nongnu.org/archive/html/qemu-devel/2014-12/msg03606.html
>  [2]: 
> https://github.com/Lekensteyn/dmg2img/commit/a1d4861b4b0f2ac5090938233a1156bb130cb3ef
> 
> Peter Wu (12):
>   block/dmg: properly detect the UDIF trailer
>   block/dmg: extract mish block decoding functionality
>   block/dmg: extract processing of resource forks
>   block/dmg: process a buffer instead of reading ints
>   block/dmg: validate chunk size to avoid overflow
>   block/dmg: process XML plists
>   block/dmg: set virtual size to a non-zero value
>   block/dmg: fix sector data offset calculation
>   block/dmg: use SectorNumber from BLKX header
>   block/dmg: factor out block type check
>   block/dmg: support bzip2 block entry types
>   block/dmg: improve zeroes handling
> 
>  block/Makefile.objs |   1 +
>  block/dmg.c         | 503 
> ++++++++++++++++++++++++++++++++++++++++------------
>  configure           |  31 ++++
>  3 files changed, 418 insertions(+), 117 deletions(-)

Hard to verify this does not introduce regressions since qemu-iotests
does not support dmg.  The code looks good though.

Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block

Stefan

Attachment: pgpaistgMmLWq.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]