From 620b88ad74ceb8b4e412d8d19a5e9e050a64b1e5 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 --- 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 c9d57b4b646..a5d93ab5251 100644 --- a/source3/modules/vfs_glusterfs.c +++ b/source3/modules/vfs_glusterfs.c @@ -633,7 +633,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; @@ -664,7 +668,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; @@ -954,7 +965,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, @@ -1239,7 +1254,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 24e52e592c9..97fdae02203 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1570,6 +1570,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