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)
committerKarolin Seeger <kseeger@samba.org>
Tue, 5 Feb 2019 19:41:24 +0000 (20:41 +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

(cherry picked from commit 0e3eda5bab5ae9316a42725aea048fb350020ec7)

source3/modules/vfs_glusterfs.c
source3/wscript

index c9d57b4b64632260aa7f1bda9599a62b335c0450..a5d93ab52512970b08f25be8c8f4125aeab4d152 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 24e52e592c9766db243d202ecfb5dd8122dd4f03..97fdae0220357bb38513ac7b060bb86308320a7b 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')