From: Nikolaus Rath Date: Mon, 10 Oct 2016 23:14:17 +0000 (-0700) Subject: Activate splice_read by default if write_buf is implemented. X-Git-Tag: fuse-3.0.0rc1~54 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3ff500f9f25a37616ee69d2f876ac087c728895b;p=qemu-gpiodev%2Flibfuse.git Activate splice_read by default if write_buf is implemented. --- diff --git a/ChangeLog.rst b/ChangeLog.rst index 4f355ce..5ddefdb 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -1,6 +1,10 @@ Unreleased Changes ================== +* For low-level file systems that implement the `write_buf` handler, + the `splice_read` option is now enabled by default. As usual, this + can be changed in the file system's `init` handler. + * `fuse_session_new` now treats low-level options more consistently: First, options are used to modify FUSE defaults. Second, the file system may inspect and/or adjust the settings in its `init` diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c index 3b30b21..d10191b 100644 --- a/lib/fuse_lowlevel.c +++ b/lib/fuse_lowlevel.c @@ -1928,6 +1928,7 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) if ((cond) && (f->conn.capable & (cap))) \ f->conn.want |= (cap) LL_SET_DEFAULT(1, FUSE_CAP_ASYNC_READ); + LL_SET_DEFAULT(f->op.write_buf, FUSE_CAP_SPLICE_READ); LL_SET_DEFAULT(f->op.getlk && f->op.setlk, FUSE_CAP_POSIX_LOCKS); LL_SET_DEFAULT(f->op.flock, FUSE_CAP_FLOCK_LOCKS);