From ac1dba134e0ee9d2300b53e84bc8a2ec8bb287a9 Mon Sep 17 00:00:00 2001 From: Anoop C S Date: Tue, 20 Mar 2018 11:32:20 +0530 Subject: [PATCH] vfs_glusterfs: Adapt to changes in libgfapi signatures VFS module for GlusterFS fails to compile due to recent changes done to some API signatures. Therefore adding missing arguments to those APIs adapting to new signatures. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13330 Signed-off-by: Anoop C S Reviewed-by: Guenther Deschner Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Sun Feb 3 17:00:33 CET 2019 on sn-devel-144 (cherry picked from commit 0e3eda5bab5ae9316a42725aea048fb350020ec7) --- source3/modules/vfs_glusterfs.c | 19 +++++++++++++++++++ source3/wscript | 3 +++ 2 files changed, 22 insertions(+) diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c index ce19fcec5b7..7d407a21b31 100644 --- a/source3/modules/vfs_glusterfs.c +++ b/source3/modules/vfs_glusterfs.c @@ -640,7 +640,11 @@ static ssize_t vfs_gluster_pread(struct vfs_handle_struct *handle, return -1; } +#ifdef HAVE_GFAPI_VER_7_6 + return glfs_pread(glfd, data, n, offset, 0, NULL); +#else return glfs_pread(glfd, data, n, offset, 0); +#endif } struct glusterfs_aio_state; @@ -671,7 +675,14 @@ static int aio_wrapper_destructor(struct glusterfs_aio_wrapper *wrap) * threads once the async IO submitted is complete. To notify * Samba of the completion we use a pipe based queue. */ +#ifdef HAVE_GFAPI_VER_7_6 +static void aio_glusterfs_done(glfs_fd_t *fd, ssize_t ret, + struct glfs_stat *prestat, + struct glfs_stat *poststat, + void *data) +#else static void aio_glusterfs_done(glfs_fd_t *fd, ssize_t ret, void *data) +#endif { struct glusterfs_aio_state *state = NULL; int sts = 0; @@ -957,7 +968,11 @@ static ssize_t vfs_gluster_pwrite(struct vfs_handle_struct *handle, return -1; } +#ifdef HAVE_GFAPI_VER_7_6 + return glfs_pwrite(glfd, data, n, offset, 0, NULL, NULL); +#else return glfs_pwrite(glfd, data, n, offset, 0); +#endif } static off_t vfs_gluster_lseek(struct vfs_handle_struct *handle, @@ -1246,7 +1261,11 @@ static int vfs_gluster_ftruncate(struct vfs_handle_struct *handle, return -1; } +#ifdef HAVE_GFAPI_VER_7_6 + return glfs_ftruncate(glfd, offset, NULL, NULL); +#else return glfs_ftruncate(glfd, offset); +#endif } static int vfs_gluster_fallocate(struct vfs_handle_struct *handle, diff --git a/source3/wscript b/source3/wscript index 845dedb8e25..3b081bc2c79 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1581,6 +1581,9 @@ main() { conf.CHECK_CFG(package='glusterfs-api', args='"glusterfs-api >= 6" --cflags --libs', msg='Checking for glusterfs-api >= 6', uselib_store="GFAPI_VER_6") + conf.CHECK_CFG(package='glusterfs-api', args='"glusterfs-api >= 7.6" --cflags --libs', + msg='Checking for glusterfs-api >= 7.6', + uselib_store="GFAPI_VER_7_6") else: conf.SET_TARGET_TYPE('gfapi', 'EMPTY') conf.undefine('HAVE_GLUSTERFS') -- 2.20.1