[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
- [Qemu-devel] [PATCH v2 00/12] block/dmg: (compatibility) fixes and bzip2 support,
Peter Wu <=
- [Qemu-devel] [PATCH v2 05/12] block/dmg: validate chunk size to avoid overflow, Peter Wu, 2015/01/06
- [Qemu-devel] [PATCH v2 04/12] block/dmg: process a buffer instead of reading ints, Peter Wu, 2015/01/06
- [Qemu-devel] [PATCH v2 07/12] block/dmg: set virtual size to a non-zero value, Peter Wu, 2015/01/06
- [Qemu-devel] [PATCH v2 08/12] block/dmg: fix sector data offset calculation, Peter Wu, 2015/01/06
- [Qemu-devel] [PATCH v2 09/12] block/dmg: use SectorNumber from BLKX header, Peter Wu, 2015/01/06
- [Qemu-devel] [PATCH v2 03/12] block/dmg: extract processing of resource forks, Peter Wu, 2015/01/06