98 lines
3.1 KiB
Diff
98 lines
3.1 KiB
Diff
From a30344defca0e948400587280f67d4e6bcc5834f Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
|
Date: Wed, 19 Jun 2019 17:15:07 +0200
|
|
Subject: [PATCH 1/2] gluster: Handle changed glfs_ftruncate signature
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
Message-id: <20190619171508.31981-2-philmd@redhat.com>
|
|
Patchwork-id: 88737
|
|
O-Subject: [RHEL-8.1.0 qemu-kvm PATCH 1/2] gluster: Handle changed glfs_ftruncate signature
|
|
Bugzilla: 1721983
|
|
RH-Acked-by: Max Reitz <mreitz@redhat.com>
|
|
RH-Acked-by: Niels de Vos <ndevos@redhat.com>
|
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
|
From: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
|
|
|
|
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@redhat.com>
|
|
Signed-off-by: Niels de Vos <ndevos@redhat.com>
|
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
(cherry picked from commit e014dbe74e0484188164c61ff6843f8a04a8cb9d)
|
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
---
|
|
block/gluster.c | 4 ++++
|
|
configure | 18 ++++++++++++++++++
|
|
2 files changed, 22 insertions(+)
|
|
|
|
diff --git a/block/gluster.c b/block/gluster.c
|
|
index 8c13002..e3ffa61 100644
|
|
--- a/block/gluster.c
|
|
+++ b/block/gluster.c
|
|
@@ -20,6 +20,10 @@
|
|
#include "qemu/option.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 6d61b14..b3d337b 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -429,6 +429,7 @@ glusterfs_xlator_opt="no"
|
|
glusterfs_discard="no"
|
|
glusterfs_fallocate="no"
|
|
glusterfs_zerofill="no"
|
|
+glusterfs_ftruncate_has_stat="no"
|
|
gtk=""
|
|
gtkabi=""
|
|
gtk_gl="no"
|
|
@@ -3919,6 +3920,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" \
|
|
@@ -6622,6 +6636,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
|
|
--
|
|
1.8.3.1
|
|
|