From nobody Sat May 4 01:48:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539948948725964.9226860222394; Fri, 19 Oct 2018 04:35:48 -0700 (PDT) Received: from localhost ([::1]:48954 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gDT44-0007iY-DO for importer@patchew.org; Fri, 19 Oct 2018 07:35:36 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44826) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gDT33-0007IL-SV for qemu-devel@nongnu.org; Fri, 19 Oct 2018 07:34:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gDT32-0006mv-Ql for qemu-devel@nongnu.org; Fri, 19 Oct 2018 07:34:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44454) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gDT2x-0006FD-Vk; Fri, 19 Oct 2018 07:34:28 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E7AA830832E9; Fri, 19 Oct 2018 11:34:26 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-117-34.ams2.redhat.com [10.36.117.34]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5D741600C0; Fri, 19 Oct 2018 11:34:26 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id D664F11385F2; Fri, 19 Oct 2018 13:34:24 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Fri, 19 Oct 2018 13:34:24 +0200 Message-Id: <20181019113424.25727-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Fri, 19 Oct 2018 11:34:27 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH] block: Make more block drivers compile-time configurable X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, jeff@codyprime.org, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Jeff Cody This adds configure options to control the following block drivers: * Bochs * Cloop * Dmg * Qcow (V1) * Vdi * Vvfat * qed * parallels * sheepdog Each of these defaults to being enabled. Signed-off-by: Jeff Cody Signed-off-by: Markus Armbruster --- Hmm, we got quite a few --enable-BLOCK-DRIVER now. Perhaps a single list-valued option similar --target-list would be better. Could be done on top. block/Makefile.objs | 22 ++++++++--- configure | 91 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 6 deletions(-) diff --git a/block/Makefile.objs b/block/Makefile.objs index c8337bf186..1cad9fc4f1 100644 --- a/block/Makefile.objs +++ b/block/Makefile.objs @@ -1,10 +1,18 @@ -block-obj-y +=3D raw-format.o qcow.o vdi.o vmdk.o cloop.o bochs.o vpc.o vv= fat.o dmg.o +block-obj-y +=3D raw-format.o vmdk.o vpc.o +block-obj-$(CONFIG_QCOW1) +=3D qcow.o +block-obj-$(CONFIG_VDI) +=3D vdi.o +block-obj-$(CONFIG_CLOOP) +=3D cloop.o +block-obj-$(CONFIG_BOCHS) +=3D bochs.o +block-obj-$(CONFIG_VVFAT) +=3D vvfat.o +block-obj-$(CONFIG_DMG) +=3D dmg.o + block-obj-y +=3D qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o= qcow2-cache.o qcow2-bitmap.o -block-obj-y +=3D qed.o qed-l2-cache.o qed-table.o qed-cluster.o -block-obj-y +=3D qed-check.o +block-obj-$(CONFIG_QED) +=3D qed.o qed-l2-cache.o qed-table.o qed-cluster.o +block-obj-$(CONFIG_QED) +=3D qed-check.o block-obj-y +=3D vhdx.o vhdx-endian.o vhdx-log.o block-obj-y +=3D quorum.o -block-obj-y +=3D parallels.o blkdebug.o blkverify.o blkreplay.o +block-obj-y +=3D blkdebug.o blkverify.o blkreplay.o +block-obj-$(CONFIG_PARALLELS) +=3D parallels.o block-obj-y +=3D blklogwrites.o block-obj-y +=3D block-backend.o snapshot.o qapi.o block-obj-$(CONFIG_WIN32) +=3D file-win32.o win32-aio.o @@ -14,7 +22,8 @@ block-obj-y +=3D null.o mirror.o commit.o io.o create.o block-obj-y +=3D throttle-groups.o block-obj-$(CONFIG_LINUX) +=3D nvme.o =20 -block-obj-y +=3D nbd.o nbd-client.o sheepdog.o +block-obj-y +=3D nbd.o nbd-client.o +block-obj-$(CONFIG_SHEEPDOG) +=3D sheepdog.o block-obj-$(CONFIG_LIBISCSI) +=3D iscsi.o block-obj-$(if $(CONFIG_LIBISCSI),y,n) +=3D iscsi-opts.o block-obj-$(CONFIG_LIBNFS) +=3D nfs.o @@ -45,7 +54,8 @@ gluster.o-libs :=3D $(GLUSTERFS_LIBS) vxhs.o-libs :=3D $(VXHS_LIBS) ssh.o-cflags :=3D $(LIBSSH2_CFLAGS) ssh.o-libs :=3D $(LIBSSH2_LIBS) -block-obj-$(if $(CONFIG_BZIP2),m,n) +=3D dmg-bz2.o +block-obj-dmg-bz2$(if $(CONFIG_BZIP2),m,n) +=3D dmg-bz2.o +block-obj-$(CONFIG_DMG) +=3D $(block-obj-dmg-bz2-y) dmg-bz2.o-libs :=3D $(BZIP2_LIBS) qcow.o-libs :=3D -lz linux-aio.o-libs :=3D -laio diff --git a/configure b/configure index 9138af37f8..c413186c67 100755 --- a/configure +++ b/configure @@ -473,6 +473,15 @@ tcmalloc=3D"no" jemalloc=3D"no" replication=3D"yes" vxhs=3D"" +bochs=3D"yes" +cloop=3D"yes" +dmg=3D"yes" +qcow1=3D"yes" +vdi=3D"yes" +vvfat=3D"yes" +qed=3D"yes" +parallels=3D"yes" +sheepdog=3D"yes" libxml2=3D"" docker=3D"no" debug_mutex=3D"no" @@ -1413,6 +1422,42 @@ for opt do ;; --enable-vxhs) vxhs=3D"yes" ;; + --disable-bochs) bochs=3D"no" + ;; + --enable-bochs) bochs=3D"yes" + ;; + --disable-cloop) cloop=3D"no" + ;; + --enable-cloop) cloop=3D"yes" + ;; + --disable-dmg) dmg=3D"no" + ;; + --enable-dmg) dmg=3D"yes" + ;; + --disable-qcow1) qcow1=3D"no" + ;; + --enable-qcow1) qcow1=3D"yes" + ;; + --disable-vdi) vdi=3D"no" + ;; + --enable-vdi) vdi=3D"yes" + ;; + --disable-vvfat) vvfat=3D"no" + ;; + --enable-vvfat) vvfat=3D"yes" + ;; + --disable-qed) qed=3D"no" + ;; + --enable-qed) qed=3D"yes" + ;; + --disable-parallels) parallels=3D"no" + ;; + --enable-parallels) parallels=3D"yes" + ;; + --disable-sheepdog) sheepdog=3D"no" + ;; + --enable-sheepdog) sheepdog=3D"yes" + ;; --disable-vhost-user) vhost_user=3D"no" ;; --enable-vhost-user) @@ -1714,6 +1759,15 @@ disabled with --disable-FEATURE, default is enabled = if available: qom-cast-debug cast debugging support tools build qemu-io, qemu-nbd and qemu-image tools vxhs Veritas HyperScale vDisk backend support + bochs bochs image format support + cloop cloop image format support + dmg dmg image format support + qcow1 qcow v1 image format support + vdi vdi image format support + vvfat vvfat image format support + qed qed image format support + parallels parallels image format support + sheepdog sheepdog block driver support crypto-afalg Linux AF_ALG crypto backend driver vhost-user vhost-user support capstone capstone disassembler support @@ -6067,6 +6121,15 @@ echo "jemalloc support $jemalloc" echo "avx2 optimization $avx2_opt" echo "replication support $replication" echo "VxHS block device $vxhs" +echo "bochs support $bochs" +echo "cloop support $cloop" +echo "dmg support $dmg" +echo "qcow v1 support $qcow1" +echo "vdi support $vdi" +echo "vvfat support $vvfat" +echo "qed support $qed" +echo "parallels support $parallels" +echo "sheepdog support $sheepdog" echo "capstone $capstone" echo "docker $docker" echo "libpmem support $libpmem" @@ -6824,6 +6887,34 @@ if test "$libpmem" =3D "yes" ; then echo "CONFIG_LIBPMEM=3Dy" >> $config_host_mak fi =20 +if test "$bochs" =3D "yes" ; then + echo "CONFIG_BOCHS=3Dy" >> $config_host_mak +fi +if test "$cloop" =3D "yes" ; then + echo "CONFIG_CLOOP=3Dy" >> $config_host_mak +fi +if test "$dmg" =3D "yes" ; then + echo "CONFIG_DMG=3Dy" >> $config_host_mak +fi +if test "$qcow1" =3D "yes" ; then + echo "CONFIG_QCOW1=3Dy" >> $config_host_mak +fi +if test "$vdi" =3D "yes" ; then + echo "CONFIG_VDI=3Dy" >> $config_host_mak +fi +if test "$vvfat" =3D "yes" ; then + echo "CONFIG_VVFAT=3Dy" >> $config_host_mak +fi +if test "$qed" =3D "yes" ; then + echo "CONFIG_QED=3Dy" >> $config_host_mak +fi +if test "$parallels" =3D "yes" ; then + echo "CONFIG_PARALLELS=3Dy" >> $config_host_mak +fi +if test "$sheepdog" =3D "yes" ; then + echo "CONFIG_SHEEPDOG=3Dy" >> $config_host_mak +fi + if test "$tcg_interpreter" =3D "yes"; then QEMU_INCLUDES=3D"-iquote \$(SRC_PATH)/tcg/tci $QEMU_INCLUDES" elif test "$ARCH" =3D "sparc64" ; then --=20 2.17.2