From 37704b589e9074b9727104c525c4dc6a0b6228fe Mon Sep 17 00:00:00 2001
From: Xiubo Li <xiubli@redhat.com>
Date: Mon, 11 Feb 2019 18:05:45 +0800
Subject: [PATCH 1/2] glfs: add gfapi version check
Signed-off-by: Xiubo Li <xiubli@redhat.com>
---
CMakeLists.txt | 5 +++++
glfs.c | 8 ++++++++
version.h.in | 2 ++
3 files changed, 15 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 64af0f3..bc8d2f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -224,6 +224,11 @@ endif (with-rbd)
if (with-glfs)
find_library(GFAPI gfapi)
+ pkg_check_modules(GFAPI760 glusterfs-api>=7.6)
+ if (GFAPI760_FOUND)
+ set(GFAPI_VERSION 760)
+ endif (GFAPI760_FOUND)
+
# Stuff for building the glfs handler
add_library(handler_glfs
SHARED
diff --git a/glfs.c b/glfs.c
index 85f0f4b..610133f 100644
--- a/glfs.c
+++ b/glfs.c
@@ -26,6 +26,7 @@
#include "libtcmu.h"
#include "tcmur_device.h"
#include "tcmur_cmd_handler.h"
+#include "version.h"
#define ALLOWED_BSOFLAGS (O_DIRECT | O_RDWR | O_LARGEFILE)
@@ -566,7 +567,14 @@ static void tcmu_glfs_close(struct tcmu_device *dev)
free(gfsp);
}
+#if GFAPI_VERSION < 760
static void glfs_async_cbk(glfs_fd_t *fd, ssize_t ret, void *data)
+#else
+static void glfs_async_cbk(glfs_fd_t *fd, ssize_t ret,
+ struct glfs_stat *prestat,
+ struct glfs_stat *poststat,
+ void *data)
+#endif
{
glfs_cbk_cookie *cookie = data;
struct tcmu_device *dev = cookie->dev;
diff --git a/version.h.in b/version.h.in
index 96d8893..516a366 100644
--- a/version.h.in
+++ b/version.h.in
@@ -2,3 +2,5 @@
#define TCMUR_VERSION "@VERSION@"
#define DEFAULT_HANDLER_PATH "@tcmu-runner_HANDLER_PATH@"
+
+#define GFAPI_VERSION @GFAPI_VERSION@
--
2.14.3