qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5 1/2] qemu: Add a config option for GlusterFS


From: Anand Avati
Subject: Re: [Qemu-devel] [PATCH v5 1/2] qemu: Add a config option for GlusterFS as block backend
Date: Wed, 08 Aug 2012 09:19:12 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0

On 08/07/2012 01:00 AM, Bharata B Rao wrote:
qemu: Add a config option for GlusterFS as block backend

From: Bharata B Rao <address@hidden>

GlusterFS support in QEMU depends on libgfapi, libgfrpc and
libgfxdr provided by GlusterFS.

Signed-off-by: Bharata B Rao <address@hidden>
---

  configure |   34 ++++++++++++++++++++++++++++++++++
  1 files changed, 34 insertions(+), 0 deletions(-)


diff --git a/configure b/configure
index 027a718..5bcf6d5 100755
--- a/configure
+++ b/configure
@@ -824,6 +824,10 @@ for opt do
    ;;
    --disable-guest-agent) guest_agent="no"
    ;;
+  --disable-glusterfs) glusterfs="no"
+  ;;
+  --enable-glusterfs) glusterfs="yes"
+  ;;
    *) echo "ERROR: unknown option $opt"; show_help="yes"
    ;;
    esac
@@ -1112,6 +1116,8 @@ echo "  --disable-guest-agent    disable building of the QEMU 
Guest Agent"
  echo "  --enable-guest-agent     enable building of the QEMU Guest Agent"
  echo "  --with-coroutine=BACKEND coroutine backend. Supported options:"
  echo "                           gthread, ucontext, sigaltstack, windows"
+echo "  --enable-glusterfs       enable GlusterFS backend"
+echo "  --disable-glusterfs      disable GlusterFS backend"
  echo ""
  echo "NOTE: The object files are built at the place where configure is 
launched"
  exit 1
@@ -2279,6 +2285,29 @@ EOF
    fi
  fi

+##########################################
+# glusterfs probe
+if test "$glusterfs" != "no" ; then
+  cat > $TMPC <<EOF
+#include <glusterfs/api/glfs.h>
+int main(void) {
+    (void) glfs_new("volume");
+    return 0;
+}
+EOF
+  glusterfs_libs="-lgfapi -lgfrpc -lgfxdr"
+  if compile_prog "" "$glusterfs_libs" ; then
+    glusterfs=yes
+    libs_tools="$glusterfs_libs $libs_tools"
+    libs_softmmu="$glusterfs_libs $libs_softmmu"
+  else
+    if test "$glusterfs" = "yes" ; then
+      feature_not_found "GlusterFS backend support"
+    fi
+    glusterfs=no
+  fi
+fi
+

It would be best if the autoconf changes is based on pkgconfig as shown in https://github.com/gluster/glusterfs/blob/master/api/examples/configure.ac. If you do not want to introduce pkgconfig dependency (if you already do not have it) then it would be good to adopt the steps mentioned in section "2." of https://github.com/gluster/glusterfs/blob/master/api/examples/README. That would basically mean including "-I/path/include/glusterfs" in CPPFLAGS and only "#include <api/glfs.h>" instead of <glusterfs/api/glfs.h>.

Thanks,
Avati
  #
  # Check for xxxat() functions when we are building linux-user
  # emulator.  This is done because older glibc versions don't
@@ -3104,6 +3133,7 @@ echo "OpenGL support    $opengl"
  echo "libiscsi support  $libiscsi"
  echo "build guest agent $guest_agent"
  echo "coroutine backend $coroutine_backend"
+echo "GlusterFS support $glusterfs"

  if test "$sdl_too_old" = "yes"; then
  echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -3441,6 +3471,10 @@ if test "$has_environ" = "yes" ; then
    echo "CONFIG_HAS_ENVIRON=y" >> $config_host_mak
  fi

+if test "$glusterfs" = "yes" ; then
+  echo "CONFIG_GLUSTERFS=y" >> $config_host_mak
+fi
+
  # USB host support
  case "$usb" in
  linux)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]