|
|
73f313 |
From b5c74112b314c185335de246c465d14ef68509a3 Mon Sep 17 00:00:00 2001
|
|
|
73f313 |
From: Maxim Levitsky <mlevitsk@redhat.com>
|
|
|
73f313 |
Date: Sun, 16 Feb 2020 16:02:24 +0100
|
|
|
73f313 |
Subject: [PATCH 4/6] gluster: Handle changed glfs_ftruncate signature
|
|
|
73f313 |
|
|
|
73f313 |
Message-id: <20200216160225.22498-2-mlevitsk@redhat.com>
|
|
|
73f313 |
Patchwork-id: 93881
|
|
|
73f313 |
O-Subject: [RHEL-7.9 qemu-kvm PATCH 1/2] gluster: Handle changed glfs_ftruncate signature
|
|
|
73f313 |
Bugzilla: 1802215
|
|
|
73f313 |
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
|
73f313 |
RH-Acked-by: Max Reitz <mreitz@redhat.com>
|
|
|
73f313 |
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
|
|
|
73f313 |
|
|
|
73f313 |
From: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
|
|
|
73f313 |
|
|
|
73f313 |
New versions of Glusters libgfapi.so have an updated glfs_ftruncate()
|
|
|
73f313 |
function that returns additional 'struct stat' structures to enable
|
|
|
73f313 |
advanced caching of attributes. This is useful for file servers, not so
|
|
|
73f313 |
much for QEMU. Nevertheless, the API has changed and needs to be
|
|
|
73f313 |
adopted.
|
|
|
73f313 |
|
|
|
73f313 |
Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
|
|
|
73f313 |
Signed-off-by: Niels de Vos <ndevos@redhat.com>
|
|
|
73f313 |
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
|
73f313 |
(cherry picked from commit e014dbe74e0484188164c61ff6843f8a04a8cb9d)
|
|
|
73f313 |
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
|
|
|
73f313 |
|
|
|
73f313 |
RHEL: fixed conflicts
|
|
|
73f313 |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
73f313 |
---
|
|
|
73f313 |
block/gluster.c | 5 +++++
|
|
|
73f313 |
configure | 18 ++++++++++++++++++
|
|
|
73f313 |
2 files changed, 23 insertions(+)
|
|
|
73f313 |
|
|
|
73f313 |
diff --git a/block/gluster.c b/block/gluster.c
|
|
|
73f313 |
index 86e136d..d6160af 100644
|
|
|
73f313 |
--- a/block/gluster.c
|
|
|
73f313 |
+++ b/block/gluster.c
|
|
|
73f313 |
@@ -20,6 +20,11 @@
|
|
|
73f313 |
#include "qemu/sockets.h"
|
|
|
73f313 |
#include "qemu/uri.h"
|
|
|
73f313 |
|
|
|
73f313 |
+#ifdef CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT
|
|
|
73f313 |
+# define glfs_ftruncate(fd, offset) glfs_ftruncate(fd, offset, NULL, NULL)
|
|
|
73f313 |
+#endif
|
|
|
73f313 |
+
|
|
|
73f313 |
+
|
|
|
73f313 |
typedef struct GlusterAIOCB {
|
|
|
73f313 |
BlockDriverAIOCB common;
|
|
|
73f313 |
int64_t size;
|
|
|
73f313 |
diff --git a/configure b/configure
|
|
|
73f313 |
index 5877e82..70fd06f 100755
|
|
|
73f313 |
--- a/configure
|
|
|
73f313 |
+++ b/configure
|
|
|
73f313 |
@@ -243,6 +243,7 @@ seccomp=""
|
|
|
73f313 |
glusterfs=""
|
|
|
73f313 |
glusterfs_discard="no"
|
|
|
73f313 |
virtio_blk_data_plane=""
|
|
|
73f313 |
+glusterfs_ftruncate_has_stat="no"
|
|
|
73f313 |
gtk=""
|
|
|
73f313 |
gtkabi="2.0"
|
|
|
73f313 |
tpm="no"
|
|
|
73f313 |
@@ -2748,6 +2749,19 @@ EOF
|
|
|
73f313 |
if $pkg_config --atleast-version=5 glusterfs-api >/dev/null 2>&1; then
|
|
|
73f313 |
glusterfs_discard="yes"
|
|
|
73f313 |
fi
|
|
|
73f313 |
+ cat > $TMPC << EOF
|
|
|
73f313 |
+#include <glusterfs/api/glfs.h>
|
|
|
73f313 |
+
|
|
|
73f313 |
+int
|
|
|
73f313 |
+main(void)
|
|
|
73f313 |
+{
|
|
|
73f313 |
+ /* new glfs_ftruncate() passes two additional args */
|
|
|
73f313 |
+ return glfs_ftruncate(NULL, 0, NULL, NULL);
|
|
|
73f313 |
+}
|
|
|
73f313 |
+EOF
|
|
|
73f313 |
+ if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
|
|
|
73f313 |
+ glusterfs_ftruncate_has_stat="yes"
|
|
|
73f313 |
+ fi
|
|
|
73f313 |
else
|
|
|
73f313 |
if test "$glusterfs" = "yes" ; then
|
|
|
73f313 |
feature_not_found "GlusterFS backend support"
|
|
|
73f313 |
@@ -4178,6 +4192,10 @@ if test "$live_block_ops" = "yes" ; then
|
|
|
73f313 |
echo "CONFIG_LIVE_BLOCK_OPS=y" >> $config_host_mak
|
|
|
73f313 |
fi
|
|
|
73f313 |
|
|
|
73f313 |
+if test "$glusterfs_ftruncate_has_stat" = "yes" ; then
|
|
|
73f313 |
+ echo "CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT=y" >> $config_host_mak
|
|
|
73f313 |
+fi
|
|
|
73f313 |
+
|
|
|
73f313 |
if test "$live_block_migration" = "yes" ; then
|
|
|
73f313 |
echo "CONFIG_LIVE_BLOCK_MIGRATION=y" >> $config_host_mak
|
|
|
73f313 |
fi
|
|
|
73f313 |
--
|
|
|
73f313 |
1.8.3.1
|
|
|
73f313 |
|