]> git.proxmox.com Git - mirror_qemu.git/commit - block/dmg.h
dmg: Move libbz2 code to dmg-bz2.so
authorFam Zheng <famz@redhat.com>
Mon, 5 Sep 2016 02:50:45 +0000 (10:50 +0800)
committerMax Reitz <mreitz@redhat.com>
Fri, 7 Oct 2016 12:14:06 +0000 (14:14 +0200)
commit27685a8dd08c051fa6d641fe46106fc0dfa51073
treeefe15b0952ffe7eeec72c103479ca77d6a422837
parentdffa41b48651c4002af02e80b7459e56a77152c7
dmg: Move libbz2 code to dmg-bz2.so

dmg.o was moved to block-obj-m in 5505e8b76 to become a separate module,
so that its reference to libbz2, since 6b383c08c, doesn't add an extra
library to the main executable.

Until recently, commit 06e60f70a (blockdev: Add dynamic module loading
for block drivers) moved it back to block-obj-y to simplify the design
of dynamic loading of block modules. But we don't want to lose the
feature of less library dependency on the main executable.

The solution here is to move only the bz2 related code to a separate
DSO file, and load it when dmg_open is called.

dmg_probe doesn't depend on bz2 support to work, and is the only code in
this file which can run before dmg_open.

While we are at it, fix the unhelpful cast of last argument passed to
dmg_uncompress_bz2.

Signed-off-by: Fam Zheng <famz@redhat.com>
Message-id: 1473043845-13197-4-git-send-email-famz@redhat.com
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
block/Makefile.objs
block/dmg-bz2.c [new file with mode: 0644]
block/dmg.c
block/dmg.h [new file with mode: 0644]