vfs_glusterfs: Adapt to changes in libgfapi signatures
authorAnoop C S <anoopcs@redhat.com>
Tue, 20 Mar 2018 06:02:20 +0000 (11:32 +0530)
committerJeremy Allison <jra@samba.org>
Sun, 3 Feb 2019 16:00:33 +0000 (17:00 +0100)
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 <anoopcs@redhat.com>
Reviewed-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Sun Feb  3 17:00:33 CET 2019 on sn-devel-144

source3/modules/vfs_glusterfs.c
source3/wscript

index a241ac9db9ff7a036c01b577f7843f42482d6db5..601be5a2da46d6007c5b472979f6df1841d5c730 100644 (file)
@@ -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,
index 8086359f706c80efb701652632d5894202c7b8e9..0cd7f40317ac6c7044eb68980defe227ecf9b197 100644 (file)
@@ -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')