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

[Xen-changelog] [qemu-xen stable-4.10] gluster: Handle changed glfs_ftruncate signature



commit c84fdba657d43dc39910c8bfc9524a00a3e5c84c
Author:     Prasanna Kumar Kalever <prasanna.kalever@xxxxxxxxxx>
AuthorDate: Tue Mar 5 16:46:33 2019 +0100
Commit:     Anthony PERARD <anthony.perard@xxxxxxxxxx>
CommitDate: Mon Apr 1 17:24:02 2019 +0100

    gluster: Handle changed glfs_ftruncate signature
    
    New versions of Glusters libgfapi.so have an updated glfs_ftruncate()
    function that returns additional 'struct stat' structures to enable
    advanced caching of attributes. This is useful for file servers, not so
    much for QEMU. Nevertheless, the API has changed and needs to be
    adopted.
    
    Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@xxxxxxxxxx>
    Signed-off-by: Niels de Vos <ndevos@xxxxxxxxxx>
    Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
    (cherry picked from commit e014dbe74e0484188164c61ff6843f8a04a8cb9d)
---
 block/gluster.c |  4 ++++
 configure       | 18 ++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/block/gluster.c b/block/gluster.c
index 3064a45047..208103c4e8 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -17,6 +17,10 @@
 #include "qemu/error-report.h"
 #include "qemu/cutils.h"
 
+#ifdef CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT
+# define glfs_ftruncate(fd, offset) glfs_ftruncate(fd, offset, NULL, NULL)
+#endif
+
 #define GLUSTER_OPT_FILENAME        "filename"
 #define GLUSTER_OPT_VOLUME          "volume"
 #define GLUSTER_OPT_PATH            "path"
diff --git a/configure b/configure
index 53581d787d..e795e0b87c 100755
--- a/configure
+++ b/configure
@@ -384,6 +384,7 @@ glusterfs_xlator_opt="no"
 glusterfs_discard="no"
 glusterfs_fallocate="no"
 glusterfs_zerofill="no"
+glusterfs_ftruncate_has_stat="no"
 gtk=""
 gtkabi=""
 gtk_gl="no"
@@ -3672,6 +3673,19 @@ if test "$glusterfs" != "no" ; then
       glusterfs_fallocate="yes"
       glusterfs_zerofill="yes"
     fi
+    cat > $TMPC << EOF
+#include <glusterfs/api/glfs.h>
+
+int
+main(void)
+{
+       /* new glfs_ftruncate() passes two additional args */
+       return glfs_ftruncate(NULL, 0, NULL, NULL);
+}
+EOF
+    if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
+      glusterfs_ftruncate_has_stat="yes"
+    fi
   else
     if test "$glusterfs" = "yes" ; then
       feature_not_found "GlusterFS backend support" \
@@ -5966,6 +5980,10 @@ if test "$glusterfs_zerofill" = "yes" ; then
   echo "CONFIG_GLUSTERFS_ZEROFILL=y" >> $config_host_mak
 fi
 
+if test "$glusterfs_ftruncate_has_stat" = "yes" ; then
+  echo "CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT=y" >> $config_host_mak
+fi
+
 if test "$libssh2" = "yes" ; then
   echo "CONFIG_LIBSSH2=m" >> $config_host_mak
   echo "LIBSSH2_CFLAGS=$libssh2_cflags" >> $config_host_mak
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.10

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.