From ab2b4fa0a8cb2d3f2536b661f34c603277fc644e Mon Sep 17 00:00:00 2001
Message-Id: <ab2b4fa0a8cb2d3f2536b661f34c603277fc644e.1357726992.git.minovotn@redhat.com>
In-Reply-To: <4f8efce613a639a3c1e3022c521d6c70b7154de8.1357726992.git.minovotn@redhat.com>
References: <4f8efce613a639a3c1e3022c521d6c70b7154de8.1357726992.git.minovotn@redhat.com>
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Wed, 2 Jan 2013 15:02:25 +0100
Subject: [PATCH 02/16] configure: add CONFIG_VIRTIO_BLK_DATA_PLANE

RH-Author: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: <1357138959-1918-3-git-send-email-stefanha@redhat.com>
Patchwork-id: 45515
O-Subject: [RHEL6.4 qemu-kvm PATCH v5 02/16] configure: add CONFIG_VIRTIO_BLK_DATA_PLANE
Bugzilla: 877836
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
RH-Acked-by: Michael S. Tsirkin <mst@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>

The virtio-blk-data-plane feature only works with Linux AIO.  Therefore
add a ./configure option and necessary checks to implement this
dependency.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 configure | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

Signed-off-by: Michal Novotny <minovotn@redhat.com>
---
 configure | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/configure b/configure
index 2584264..f8c15bb 100755
--- a/configure
+++ b/configure
@@ -288,6 +288,7 @@ smartcard_nss=""
 live_snapshots="yes"
 block_stream="yes"
 usb_redir=""
+virtio_blk_data_plane=""
 
 # OS specific
 if check_define __linux__ ; then
@@ -703,6 +704,10 @@ for opt do
        live_snapshots="yes";
        block_stream="yes";
   ;;
+  --disable-virtio-blk-data-plane) virtio_blk_data_plane="no"
+  ;;
+  --enable-virtio-blk-data-plane) virtio_blk_data_plane="yes"
+  ;;
   *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;
   esac
@@ -1726,6 +1731,17 @@ EOF
 fi
 
 ##########################################
+# adjust virtio-blk-data-plane based on linux-aio
+
+if test "$virtio_blk_data_plane" = "yes" -a \
+	"$linux_aio" != "yes" ; then
+  echo "Error: virtio-blk-data-plane requires Linux AIO, please try --enable-linux-aio"
+  exit 1
+elif test -z "$virtio_blk_data_plane" ; then
+  virtio_blk_data_plane=$linux_aio
+fi
+
+##########################################
 # iovec probe
 cat > $TMPC <<EOF
 #include <sys/types.h>
@@ -2314,6 +2330,7 @@ echo "Live snapshots    $live_snapshots"
 echo "Block streaming   $block_stream"
 echo "xfsctl support    $xfs"
 echo "usb net redir     $usb_redir"
+echo "virtio-blk-data-plane $virtio_blk_data_plane"
 
 if test $sdl_too_old = "yes"; then
 echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -2578,6 +2595,10 @@ if test "$usb_redir" = "yes" ; then
   echo "CONFIG_USB_REDIR=y" >> $config_host_mak
 fi
 
+if test "$virtio_blk_data_plane" = "yes" ; then
+  echo "CONFIG_VIRTIO_BLK_DATA_PLANE=y" >> $config_host_mak
+fi
+
 # XXX: suppress that
 if [ "$bsd" = "yes" ] ; then
   echo "CONFIG_BSD=y" >> $config_host_mak
-- 
1.7.11.7

