qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 11/12] block/dmg: support bzip2 block entry t


From: John Snow
Subject: Re: [Qemu-devel] [PATCH v2 11/12] block/dmg: support bzip2 block entry types
Date: Wed, 07 Jan 2015 13:09:49 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0



On 01/06/2015 12:48 PM, Peter Wu wrote:
This patch adds support for bzip2-compressed block entries as introduced
with OS X 10.4 (source: https://en.wikipedia.org/wiki/Apple_Disk_Image).

It was tested against a 5.2G "OS X Yosemite" installation image which
stores the BLXX block in the XML property list (instead of resource
forks) and has over 5k chunks.

New configure entries are added (--enable-bzip2 / --disable-bzip2) to
control inclusion of bzip2 functionality (which requires linking against
libbz2). The help message suggests that this option is needed for DMG
files, but the tests are generic enough that other parts of QEMU can use
bzip2 if needed.

The identifiers are based on http://newosxbook.com/DMG.html.

The decompression routines are based on the zlib case, but as there is
no way to reset the decompression state (unlike zlib), memory is
allocated and deallocated for every decompression. This should not be
problematic as the decompression takes most of the time and as blocks
are typically about/over 1 MiB in size, only one allocation is done
every 2000 sectors.

Signed-off-by: Peter Wu <address@hidden>
---
  v2: split block type check into a different patch ("[PATCH v2 10/12]
      block/dmg: factor out block type check").
      Add BZIP2_LIBS instead of polluting libs_softmmu with -lbz2 (which
      would also end up in fsdev/virtfs-proxy-helper).
      Fix unused variable warning with --disable-bzip2.
---
  block/Makefile.objs |  1 +
  block/dmg.c         | 43 ++++++++++++++++++++++++++++++++++++++++++-
  configure           | 31 +++++++++++++++++++++++++++++++
  3 files changed, 74 insertions(+), 1 deletion(-)


[snip]

Reviewed-by: John Snow <address@hidden>



reply via email to

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