vhdx: Use QEMU UUID API

This removes our dependency to libuuid, so that the driver can always be
built.

Similar to how we handled data plane configure options, --enable-vhdx
and --disable-vhdx are also changed to a nop with a message saying it's
obsolete.

Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Message-Id: <1474432046-325-4-git-send-email-famz@redhat.com>
This commit is contained in:
Fam Zheng 2016-09-21 12:27:16 +08:00
parent 3630be75d8
commit cb6414dfec
4 changed files with 8 additions and 33 deletions

View File

@ -2,7 +2,7 @@ block-obj-y += raw_bsd.o qcow.o vdi.o vmdk.o cloop.o bochs.o vpc.o vvfat.o dmg.o
block-obj-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o block-obj-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o
block-obj-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o block-obj-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o
block-obj-y += qed-check.o block-obj-y += qed-check.o
block-obj-$(CONFIG_VHDX) += vhdx.o vhdx-endian.o vhdx-log.o block-obj-y += vhdx.o vhdx-endian.o vhdx-log.o
block-obj-y += quorum.o block-obj-y += quorum.o
block-obj-y += parallels.o blkdebug.o blkverify.o blkreplay.o block-obj-y += parallels.o blkdebug.o blkverify.o blkreplay.o
block-obj-y += block-backend.o snapshot.o qapi.o block-obj-y += block-backend.o snapshot.o qapi.o

View File

@ -21,9 +21,6 @@
#include "qemu/bswap.h" #include "qemu/bswap.h"
#include "block/vhdx.h" #include "block/vhdx.h"
#include <uuid/uuid.h>
/* /*
* All the VHDX formats on disk are little endian - the following * All the VHDX formats on disk are little endian - the following
* are helper import/export functions to correctly convert * are helper import/export functions to correctly convert

View File

@ -25,8 +25,7 @@
#include "qemu/bswap.h" #include "qemu/bswap.h"
#include "block/vhdx.h" #include "block/vhdx.h"
#include "migration/migration.h" #include "migration/migration.h"
#include "qemu/uuid.h"
#include <uuid/uuid.h>
/* Options for VHDX creation */ /* Options for VHDX creation */
@ -213,11 +212,11 @@ bool vhdx_checksum_is_valid(uint8_t *buf, size_t size, int crc_offset)
*/ */
void vhdx_guid_generate(MSGUID *guid) void vhdx_guid_generate(MSGUID *guid)
{ {
uuid_t uuid; QemuUUID uuid;
assert(guid != NULL); assert(guid != NULL);
uuid_generate(uuid); qemu_uuid_generate(&uuid);
memcpy(guid, uuid, sizeof(MSGUID)); memcpy(guid, &uuid, sizeof(MSGUID));
} }
/* Check for region overlaps inside the VHDX image */ /* Check for region overlaps inside the VHDX image */

27
configure vendored
View File

@ -317,7 +317,6 @@ vte=""
virglrenderer="" virglrenderer=""
tpm="yes" tpm="yes"
libssh2="" libssh2=""
vhdx=""
numa="" numa=""
tcmalloc="no" tcmalloc="no"
jemalloc="no" jemalloc="no"
@ -1103,6 +1102,9 @@ for opt do
--disable-virtio-blk-data-plane|--enable-virtio-blk-data-plane) --disable-virtio-blk-data-plane|--enable-virtio-blk-data-plane)
echo "$0: $opt is obsolete, virtio-blk data-plane is always on" >&2 echo "$0: $opt is obsolete, virtio-blk data-plane is always on" >&2
;; ;;
--enable-vhdx|--disable-vhdx)
echo "$0: $opt is obsolete, VHDX driver is always built" >&2
;;
--disable-gtk) gtk="no" --disable-gtk) gtk="no"
;; ;;
--enable-gtk) gtk="yes" --enable-gtk) gtk="yes"
@ -1143,10 +1145,6 @@ for opt do
;; ;;
--enable-libssh2) libssh2="yes" --enable-libssh2) libssh2="yes"
;; ;;
--enable-vhdx) vhdx="yes"
;;
--disable-vhdx) vhdx="no"
;;
--disable-numa) numa="no" --disable-numa) numa="no"
;; ;;
--enable-numa) numa="yes" --enable-numa) numa="yes"
@ -1389,7 +1387,6 @@ disabled with --disable-FEATURE, default is enabled if available:
archipelago Archipelago backend archipelago Archipelago backend
tpm TPM support tpm TPM support
libssh2 ssh block device support libssh2 ssh block device support
vhdx support for the Microsoft VHDX image format
numa libnuma support numa libnuma support
tcmalloc tcmalloc support tcmalloc tcmalloc support
jemalloc jemalloc support jemalloc jemalloc support
@ -2690,19 +2687,6 @@ EOF
fi fi
fi fi
if test "$vhdx" = "yes" ; then
if test "$uuid" = "no" ; then
error_exit "uuid required for VHDX support"
fi
elif test "$vhdx" != "no" ; then
if test "$uuid" = "yes" ; then
vhdx=yes
else
vhdx=no
fi
fi
##########################################
# xfsctl() probe, used for raw-posix # xfsctl() probe, used for raw-posix
if test "$xfs" != "no" ; then if test "$xfs" != "no" ; then
cat > $TMPC << EOF cat > $TMPC << EOF
@ -4917,7 +4901,6 @@ echo "TPM support $tpm"
echo "libssh2 support $libssh2" echo "libssh2 support $libssh2"
echo "TPM passthrough $tpm_passthrough" echo "TPM passthrough $tpm_passthrough"
echo "QOM debugging $qom_cast_debug" echo "QOM debugging $qom_cast_debug"
echo "vhdx $vhdx"
echo "lzo support $lzo" echo "lzo support $lzo"
echo "snappy support $snappy" echo "snappy support $snappy"
echo "bzip2 support $bzip2" echo "bzip2 support $bzip2"
@ -5443,10 +5426,6 @@ if test "$libssh2" = "yes" ; then
echo "LIBSSH2_LIBS=$libssh2_libs" >> $config_host_mak echo "LIBSSH2_LIBS=$libssh2_libs" >> $config_host_mak
fi fi
if test "$vhdx" = "yes" ; then
echo "CONFIG_VHDX=y" >> $config_host_mak
fi
# USB host support # USB host support
if test "$libusb" = "yes"; then if test "$libusb" = "yes"; then
echo "HOST_USB=libusb legacy" >> $config_host_mak echo "HOST_USB=libusb legacy" >> $config_host_mak