From 73c32c9ab17ee104d319882227f4a01849e544b9 Mon Sep 17 00:00:00 2001 From: Basavanagowda Kanur Date: Tue, 7 Jul 2009 07:58:05 +0000 Subject: use fuse_reply_iov() in fuse_readv_cbk changes come in two places. configure.ac - define HAVE_FUSE_REPLY_IOV if fuse_reply_iov is available in libfuse. mount/fuse - use fuse_reply_iov() in place of fuse_reply_vec(), if HAVE_FUSE_REPLY_IOV is defined. Signed-off-by: Anand V. Avati --- configure.ac | 9 +++++++++ xlators/mount/fuse/src/fuse-bridge.c | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/configure.ac b/configure.ac index 277f366151..e58bbee7ae 100644 --- a/configure.ac +++ b/configure.ac @@ -313,9 +313,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 6947a156d5..4e856bdd26 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, -- cgit