Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-23 Thread Daniel P. Berrange
On Fri, Jul 12, 2013 at 12:28:54PM +0530, Bharata B Rao wrote:
 gluster: Use pkg-config to configure GlusterFS block driver
 
 Use pkg-config to determine the version and library dependency
 for GlusterFS block driver.
 
 Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
 ---
  configure |   20 +++-
  1 file changed, 7 insertions(+), 13 deletions(-)
 
 diff --git a/configure b/configure
 index cb0f870..76adcb1 100755
 --- a/configure
 +++ b/configure
 @@ -2566,23 +2566,17 @@ 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
 +  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then
 +glusterfs=yes
 +glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
 +glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
 +CFLAGS=$CFLAGS $glusterfs_cflags
 +LIBS=$LIBS $glusterfs_libs

The glusterfs v 3.4 RPMs in Fedora do not include any pkg-config files.
So with this change now in GIT, QEMU no longer detects support for
glusterfs even though it is present.

Has the min required glusterfs been increased to a new 3.5 version
which does include pkg-config support ?  If not, then I think this
patch needs to be reverted, so that it does a non-pkg-config based
check for glusterfs.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|



Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-23 Thread Anand Avati

On 7/23/13 4:57 AM, Daniel P. Berrange wrote:

On Fri, Jul 12, 2013 at 12:28:54PM +0530, Bharata B Rao wrote:

gluster: Use pkg-config to configure GlusterFS block driver

Use pkg-config to determine the version and library dependency
for GlusterFS block driver.

Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
---
  configure |   20 +++-
  1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/configure b/configure
index cb0f870..76adcb1 100755
--- a/configure
+++ b/configure
@@ -2566,23 +2566,17 @@ 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
+  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then
+glusterfs=yes
+glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
+glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
+CFLAGS=$CFLAGS $glusterfs_cflags
+LIBS=$LIBS $glusterfs_libs


The glusterfs v 3.4 RPMs in Fedora do not include any pkg-config files.
So with this change now in GIT, QEMU no longer detects support for
glusterfs even though it is present.

Has the min required glusterfs been increased to a new 3.5 version
which does include pkg-config support ?  If not, then I think this
patch needs to be reverted, so that it does a non-pkg-config based
check for glusterfs.

Regards,
Daniel



Copying Kaleb.

We should just include the pkg-config file in the Fedora RPM for 
glusterfs if it already isn't.


Avati




Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-23 Thread Daniel P. Berrange
On Tue, Jul 23, 2013 at 05:02:20AM -0700, Anand Avati wrote:
 On 7/23/13 4:57 AM, Daniel P. Berrange wrote:
 On Fri, Jul 12, 2013 at 12:28:54PM +0530, Bharata B Rao wrote:
 gluster: Use pkg-config to configure GlusterFS block driver
 
 Use pkg-config to determine the version and library dependency
 for GlusterFS block driver.
 
 Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
 ---
   configure |   20 +++-
   1 file changed, 7 insertions(+), 13 deletions(-)
 
 diff --git a/configure b/configure
 index cb0f870..76adcb1 100755
 --- a/configure
 +++ b/configure
 @@ -2566,23 +2566,17 @@ 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
 +  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then
 +glusterfs=yes
 +glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
 +glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
 +CFLAGS=$CFLAGS $glusterfs_cflags
 +LIBS=$LIBS $glusterfs_libs
 
 The glusterfs v 3.4 RPMs in Fedora do not include any pkg-config files.
 So with this change now in GIT, QEMU no longer detects support for
 glusterfs even though it is present.
 
 Has the min required glusterfs been increased to a new 3.5 version
 which does include pkg-config support ?  If not, then I think this
 patch needs to be reverted, so that it does a non-pkg-config based
 check for glusterfs.
 
 Regards,
 Daniel
 
 
 Copying Kaleb.
 
 We should just include the pkg-config file in the Fedora RPM for
 glusterfs if it already isn't.

That doesn't help anyone trying to build QEMU with gluster support
on all the existing released distros which lack the pkg-config files.

If you really want a pkg-config file check for glusterfs in QEMU,
then it must at least fallback to probing the non-pkg-config way
to support existing deployed distros.

Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|



Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-23 Thread Daniel P. Berrange
On Tue, Jul 23, 2013 at 05:37:54PM +0530, Kaleb KEITHLEY wrote:
 On 07/23/2013 05:32 PM, Anand Avati wrote:
 On 7/23/13 4:57 AM, Daniel P. Berrange wrote:
 On Fri, Jul 12, 2013 at 12:28:54PM +0530, Bharata B Rao wrote:
 gluster: Use pkg-config to configure GlusterFS block driver
 
 Use pkg-config to determine the version and library dependency
 for GlusterFS block driver.
 
 Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
 ---
   configure |   20 +++-
   1 file changed, 7 insertions(+), 13 deletions(-)
 
 diff --git a/configure b/configure
 index cb0f870..76adcb1 100755
 --- a/configure
 +++ b/configure
 @@ -2566,23 +2566,17 @@ 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
 +  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21;
 then
 +glusterfs=yes
 +glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
 +glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
 +CFLAGS=$CFLAGS $glusterfs_cflags
 +LIBS=$LIBS $glusterfs_libs
 
 The glusterfs v 3.4 RPMs in Fedora do not include any pkg-config files.
 So with this change now in GIT, QEMU no longer detects support for
 glusterfs even though it is present.
 
 Has the min required glusterfs been increased to a new 3.5 version
 which does include pkg-config support ?  If not, then I think this
 patch needs to be reverted, so that it does a non-pkg-config based
 check for glusterfs.
 
 Regards,
 Daniel
 
 
 Copying Kaleb.
 
 We should just include the pkg-config file in the Fedora RPM for
 glusterfs if it already isn't.
 
 It's in the glusterfs-api-devel rpm:
 
 % rpm -ql glusterfs-api-devel
 /usr/include/glusterfs/api/glfs.h
 /usr/lib64/libgfapi.so
 /usr/lib64/pkgconfig/glusterfs-api.pc

Oooh, not the main glusterfs-devel RPM. Ok, ignore my earlier message

Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|



Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-23 Thread Kaleb KEITHLEY

On 07/23/2013 05:32 PM, Anand Avati wrote:

On 7/23/13 4:57 AM, Daniel P. Berrange wrote:

On Fri, Jul 12, 2013 at 12:28:54PM +0530, Bharata B Rao wrote:

gluster: Use pkg-config to configure GlusterFS block driver

Use pkg-config to determine the version and library dependency
for GlusterFS block driver.

Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
---
  configure |   20 +++-
  1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/configure b/configure
index cb0f870..76adcb1 100755
--- a/configure
+++ b/configure
@@ -2566,23 +2566,17 @@ 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
+  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21;
then
+glusterfs=yes
+glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
+glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
+CFLAGS=$CFLAGS $glusterfs_cflags
+LIBS=$LIBS $glusterfs_libs


The glusterfs v 3.4 RPMs in Fedora do not include any pkg-config files.
So with this change now in GIT, QEMU no longer detects support for
glusterfs even though it is present.

Has the min required glusterfs been increased to a new 3.5 version
which does include pkg-config support ?  If not, then I think this
patch needs to be reverted, so that it does a non-pkg-config based
check for glusterfs.

Regards,
Daniel



Copying Kaleb.

We should just include the pkg-config file in the Fedora RPM for
glusterfs if it already isn't.


It's in the glusterfs-api-devel rpm:

% rpm -ql glusterfs-api-devel
/usr/include/glusterfs/api/glfs.h
/usr/lib64/libgfapi.so
/usr/lib64/pkgconfig/glusterfs-api.pc

--

Kaleb






Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-16 Thread Stefan Hajnoczi
On Fri, Jul 12, 2013 at 12:28:54PM +0530, Bharata B Rao wrote:
 gluster: Use pkg-config to configure GlusterFS block driver

The commit message is duplicated in the commit description.

 Use pkg-config to determine the version and library dependency
 for GlusterFS block driver.
 
 Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
 ---
  configure |   20 +++-
  1 file changed, 7 insertions(+), 13 deletions(-)
 
 diff --git a/configure b/configure
 index cb0f870..76adcb1 100755
 --- a/configure
 +++ b/configure
 @@ -2566,23 +2566,17 @@ 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
 +  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then

gfapi was added in Gluster 3.4.  Is --atleast-version=3 sufficient?



Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-16 Thread Anand Avati

On 7/15/13 11:02 PM, Stefan Hajnoczi wrote:

On Fri, Jul 12, 2013 at 12:28:54PM +0530, Bharata B Rao wrote:

gluster: Use pkg-config to configure GlusterFS block driver


The commit message is duplicated in the commit description.


Use pkg-config to determine the version and library dependency
for GlusterFS block driver.

Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
---
  configure |   20 +++-
  1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/configure b/configure
index cb0f870..76adcb1 100755
--- a/configure
+++ b/configure
@@ -2566,23 +2566,17 @@ 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
+  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then


gfapi was added in Gluster 3.4.  Is --atleast-version=3 sufficient?



--atleast-version=3 is the api version (not release version). 3 is 
sufficient for basic qemu integration. 5 and above has fallocate/discard.


Avati




Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-16 Thread Kevin Wolf
Am 12.07.2013 um 08:58 hat Bharata B Rao geschrieben:
 gluster: Use pkg-config to configure GlusterFS block driver
 
 Use pkg-config to determine the version and library dependency
 for GlusterFS block driver.
 
 Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
 ---
  configure |   20 +++-
  1 file changed, 7 insertions(+), 13 deletions(-)
 
 diff --git a/configure b/configure
 index cb0f870..76adcb1 100755
 --- a/configure
 +++ b/configure
 @@ -2566,23 +2566,17 @@ 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
 +  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then
 +glusterfs=yes
 +glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
 +glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
 +CFLAGS=$CFLAGS $glusterfs_cflags
 +LIBS=$LIBS $glusterfs_libs

Why do you switch from libs_tools/libs_softmmu to LIBS? If I understand
it right, this means that you now link the library to linux-user targets
as well, but I can't see how they need it.

Kevin



Re: [Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-16 Thread Bharata B Rao
On Tue, Jul 16, 2013 at 10:25:29AM +0200, Kevin Wolf wrote:
  -  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
  +  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then
  +glusterfs=yes
  +glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
  +glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
  +CFLAGS=$CFLAGS $glusterfs_cflags
  +LIBS=$LIBS $glusterfs_libs
 
 Why do you switch from libs_tools/libs_softmmu to LIBS? If I understand
 it right, this means that you now link the library to linux-user targets
 as well, but I can't see how they need it.

Copied from some other backend and didn't realize that I ended up considering
linux-user target also. Will change this and send v2.

Regards,
Bharata.




[Qemu-devel] [RFC PATCH v1 1/2] gluster: Use pkg-config to configure GlusterFS block driver

2013-07-12 Thread Bharata B Rao
gluster: Use pkg-config to configure GlusterFS block driver

Use pkg-config to determine the version and library dependency
for GlusterFS block driver.

Signed-off-by: Bharata B Rao bhar...@linux.vnet.ibm.com
---
 configure |   20 +++-
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/configure b/configure
index cb0f870..76adcb1 100755
--- a/configure
+++ b/configure
@@ -2566,23 +2566,17 @@ 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
+  if $pkg_config --atleast-version=3 glusterfs-api /dev/null 21; then
+glusterfs=yes
+glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2/dev/null`
+glusterfs_libs=`$pkg_config --libs glusterfs-api 2/dev/null`
+CFLAGS=$CFLAGS $glusterfs_cflags
+LIBS=$LIBS $glusterfs_libs
   else
 if test $glusterfs = yes ; then
   feature_not_found GlusterFS backend support
 fi
-glusterfs=no
+glusterfs=no
   fi
 fi