qemu-devel
[Top][All Lists]
Advanced

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

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


From: Peter Wu
Subject: [Qemu-devel] [PATCH v2 00/12] block/dmg: (compatibility) fixes and bzip2 support
Date: Tue, 6 Jan 2015 18:48:03 +0100

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(-)

-- 
2.2.1




reply via email to

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