From 30079cde611bc1a6d0429c3d7af8912fc3fa6f4a Mon Sep 17 00:00:00 2001
Message-Id: <30079cde611bc1a6d0429c3d7af8912fc3fa6f4a.1425415444.git.jen@redhat.com>
In-Reply-To: <da72b8b5c732457ae115fa00a02569ddb42eff9c.1425415444.git.jen@redhat.com>
References: <da72b8b5c732457ae115fa00a02569ddb42eff9c.1425415444.git.jen@redhat.com>
From: Kevin Wolf <kwolf@redhat.com>
Date: Fri, 27 Feb 2015 16:25:50 -0500
Subject: [CHANGE 7/8] configure: Fix bad import from upstream
To: rhvirt-patches@redhat.com,
    jen@redhat.com

RH-Author: Kevin Wolf <kwolf@redhat.com>
Message-id: <1425054351-28658-6-git-send-email-kwolf@redhat.com>
Patchwork-id: 64071
O-Subject: [RHEL-6.7 qemu-kvm PATCH 5/6] configure: Fix bad import from upstream
Bugzilla: 1154876
RH-Acked-by: Fam Zheng <famz@redhat.com>
RH-Acked-by: Jeff Nelson <jenelson@redhat.com>
RH-Acked-by: Max Reitz <mreitz@redhat.com>

In commit 00d7e0e5, the upstream rbd driver as of upstream commit
dc7588c1 was imported. However, this did not update the configure checks
to the right level.

This patch imports the right configure check from upstream (as in
upstream qemu.git master at commit 041ccc92).

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 configure | 35 +++++++++--------------------------
 1 file changed, 9 insertions(+), 26 deletions(-)

Signed-off-by: Jeff E. Nelson <jen@redhat.com>
---
 configure | 39 +++++++++++----------------------------
 1 file changed, 11 insertions(+), 28 deletions(-)

diff --git a/configure b/configure
index 66bdb06..e250607 100755
--- a/configure
+++ b/configure
@@ -1772,41 +1772,24 @@ fi
 if test "$rbd" != "no" ; then
   cat > $TMPC <<EOF
 #include <stdio.h>
-#include <rados/librados.h>
-int main(void) { rados_initialize(0, NULL); return 0; }
+#include <rbd/librbd.h>
+int main(void) {
+    rados_t cluster;
+    rados_create(&cluster, NULL);
+    return 0;
+}
 EOF
-  rbd_libs="-lrados -lcrypto"
+  rbd_libs="-lrbd -lrados"
   if compile_prog "" "$rbd_libs" ; then
-    librados_too_old=no
-    cat > $TMPC <<EOF
-#include <stdio.h>
-#include <rados/librados.h>
-#ifndef CEPH_OSD_TMAP_SET
-#error missing CEPH_OSD_TMAP_SET
-#endif
-int main(void) {
-    int (*func)(const rados_pool_t pool, uint64_t *snapid) = rados_selfmanaged_snap_create;
-    rados_initialize(0, NULL);
-    return 0;
-}
-EOF
-    if compile_prog "" "$rbd_libs" ; then
-      rbd=yes
-      libs_tools="$rbd_libs $libs_tools"
-      libs_softmmu="$rbd_libs $libs_softmmu"
-    else
-      rbd=no
-      librados_too_old=yes
-    fi
+    rbd=yes
+    libs_tools="$rbd_libs $libs_tools"
+    libs_softmmu="$rbd_libs $libs_softmmu"
   else
     if test "$rbd" = "yes" ; then
-      feature_not_found "rados block device"
+      feature_not_found "rados block device" "Install librbd/ceph devel"
     fi
     rbd=no
   fi
-  if test "$librados_too_old" = "yes" ; then
-    echo "-> Your librados version is too old - upgrade needed to have rbd support"
-  fi
 fi
 
 ##########################################
-- 
2.1.0

