summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarshavardhana <harsha@zresearch.com>2009-07-01 04:13:29 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-07-01 18:32:22 -0700
commit08fea74073fd671c784b1ebe137df8722cd72a3b (patch)
treef17d692aab423bed3be9d50419654e4fbfa029e8
parent545d3d6b48f68251bf0912473bd3de5c0e593883 (diff)
fuse 2.8 support for xlator/fuse
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
-rw-r--r--xlators/mount/fuse/src/fuse-bridge.c5
-rw-r--r--xlators/mount/fuse/src/fuse-extra.c18
2 files changed, 23 insertions, 0 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c
index bf872f33d..6947a156d 100644
--- a/xlators/mount/fuse/src/fuse-bridge.c
+++ b/xlators/mount/fuse/src/fuse-bridge.c
@@ -2639,6 +2639,11 @@ init (xlator_t *this_xl)
ret = fuse_opt_add_arg(&args, "-ononempty");
if (ret != -1)
ret = fuse_opt_add_arg(&args, "-odev");
+#ifdef HAVE_FUSE_VERSION_28
+ if (ret != -1)
+ ret = fuse_opt_add_arg(&args, "-obig_writes");
+#endif /* FUSE 2.8 */
+
#endif /* LINUX */
#endif /* ! DARWIN_OS */
diff --git a/xlators/mount/fuse/src/fuse-extra.c b/xlators/mount/fuse/src/fuse-extra.c
index 95bd0f3ad..422ff4b56 100644
--- a/xlators/mount/fuse/src/fuse-extra.c
+++ b/xlators/mount/fuse/src/fuse-extra.c
@@ -54,9 +54,12 @@ struct fuse_req {
struct fuse_req *prev;
};
+#ifdef HAVE_FUSE_VERSION_28
struct fuse_ll {
int debug;
int allow_root;
+ int atomic_o_trunc;
+ int big_writes;
struct fuse_lowlevel_ops op;
int got_init;
void *userdata;
@@ -67,6 +70,21 @@ struct fuse_ll {
pthread_mutex_t lock;
int got_destroy;
};
+#else
+struct fuse_ll {
+ int debug;
+ int allow_root;
+ struct fuse_lowlevel_ops op;
+ int got_init;
+ void *userdata;
+ uid_t owner;
+ struct fuse_conn_info conn;
+ struct fuse_req list;
+ struct fuse_req interrupts;
+ pthread_mutex_t lock;
+ int got_destroy;
+};
+#endif /* FUSE 2.8 */
struct fuse_out_header {
uint32_t len;