diff options
-rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.c | 5 | ||||
-rw-r--r-- | xlators/mount/fuse/src/fuse-extra.c | 18 |
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 ed9cf1a2c60..e938db72f52 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -2641,6 +2641,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 95bd0f3ad1c..422ff4b563d 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; |