Commit cb6414df authored by Fam Zheng's avatar Fam Zheng
Browse files

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: default avatarFam Zheng <famz@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarJeff Cody <jcody@redhat.com>
Message-Id: <1474432046-325-4-git-send-email-famz@redhat.com>
parent 3630be75
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.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 += parallels.o blkdebug.o blkverify.o blkreplay.o
block-obj-y += block-backend.o snapshot.o qapi.o
+0 −3
Original line number Diff line number Diff line
@@ -21,9 +21,6 @@
#include "qemu/bswap.h"
#include "block/vhdx.h"

#include <uuid/uuid.h>


/*
 * All the VHDX formats on disk are little endian - the following
 * are helper import/export functions to correctly convert
+4 −5
Original line number Diff line number Diff line
@@ -25,8 +25,7 @@
#include "qemu/bswap.h"
#include "block/vhdx.h"
#include "migration/migration.h"

#include <uuid/uuid.h>
#include "qemu/uuid.h"

/* 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)
{
    uuid_t uuid;
    QemuUUID uuid;
    assert(guid != NULL);

    uuid_generate(uuid);
    memcpy(guid, uuid, sizeof(MSGUID));
    qemu_uuid_generate(&uuid);
    memcpy(guid, &uuid, sizeof(MSGUID));
}

/* Check for region overlaps inside the VHDX image */
+3 −24
Original line number Diff line number Diff line
@@ -317,7 +317,6 @@ vte=""
virglrenderer=""
tpm="yes"
libssh2=""
vhdx=""
numa=""
tcmalloc="no"
jemalloc="no"
@@ -1103,6 +1102,9 @@ for opt do
  --disable-virtio-blk-data-plane|--enable-virtio-blk-data-plane)
      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"
  ;;
  --enable-gtk) gtk="yes"
@@ -1143,10 +1145,6 @@ for opt do
  ;;
  --enable-libssh2) libssh2="yes"
  ;;
  --enable-vhdx) vhdx="yes"
  ;;
  --disable-vhdx) vhdx="no"
  ;;
  --disable-numa) numa="no"
  ;;
  --enable-numa) numa="yes"
@@ -1389,7 +1387,6 @@ disabled with --disable-FEATURE, default is enabled if available:
  archipelago     Archipelago backend
  tpm             TPM support
  libssh2         ssh block device support
  vhdx            support for the Microsoft VHDX image format
  numa            libnuma support
  tcmalloc        tcmalloc support
  jemalloc        jemalloc support
@@ -2690,19 +2687,6 @@ EOF
  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
if test "$xfs" != "no" ; then
  cat > $TMPC << EOF
@@ -4917,7 +4901,6 @@ echo "TPM support $tpm"
echo "libssh2 support   $libssh2"
echo "TPM passthrough   $tpm_passthrough"
echo "QOM debugging     $qom_cast_debug"
echo "vhdx              $vhdx"
echo "lzo support       $lzo"
echo "snappy support    $snappy"
echo "bzip2 support     $bzip2"
@@ -5443,10 +5426,6 @@ if test "$libssh2" = "yes" ; then
  echo "LIBSSH2_LIBS=$libssh2_libs" >> $config_host_mak
fi

if test "$vhdx" = "yes" ; then
  echo "CONFIG_VHDX=y" >> $config_host_mak
fi

# USB host support
if test "$libusb" = "yes"; then
  echo "HOST_USB=libusb legacy" >> $config_host_mak