summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac9
-rw-r--r--xlators/mount/fuse/src/fuse-bridge.c4
2 files changed, 13 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index e32ccedfd..1d72047ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -321,9 +321,18 @@ if test "x$enable_fuse_client" != "xno"; then
,
[HAVE_FUSE_VERSION_28="yes"],
[HAVE_FUSE_VERSION_28="no"])
+
+ AC_CHECK_LIB([fuse],
+ [fuse_reply_iov],
+ [HAVE_FUSE_REPLY_IOV="yes"],
+ [HAVE_FUSE_REPLY_IOV="no"])
+
fi
fi
+if test "x$HAVE_FUSE_REPLY_IOV" = "xyes"; then
+ AC_DEFINE(HAVE_FUSE_REPLY_IOV, 1, [found fuse_reply_iov])
+fi
if test "x$HAVE_LIBFUSE" = "xyes" -a "x$HAVE_FUSE_VERSION_28" = "xyes"; then
AC_DEFINE(HAVE_FUSE_VERSION_28, 1, [found fuse 2.8 version])
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c
index e938db72f..210fbef2a 100644
--- a/xlators/mount/fuse/src/fuse-bridge.c
+++ b/xlators/mount/fuse/src/fuse-bridge.c
@@ -1466,7 +1466,11 @@ fuse_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
frame->root->unique,
op_ret, state->size, state->off, stbuf->st_size);
+#ifdef HAVE_FUSE_REPLY_IOV
+ fuse_reply_iov (req, vector, count);
+#else
fuse_reply_vec (req, vector, count);
+#endif
} else {
gf_log ("glusterfs-fuse", GF_LOG_WARNING,
"%"PRId64": READ => %d (%s)", frame->root->unique,