aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlbert Chen <hselin.chen@gmail.com>2019-11-27 01:36:30 -0800
committerNikolaus Rath <Nikolaus@rath.org>2019-11-27 09:36:30 +0000
commitada08d50a647adb37c77f2106e7adc0db6ab93d5 (patch)
treec577291626b68ff962c6cc65820435861f5f8a56 /lib
parent4520a97286e53977d15825111365d46b99d5a836 (diff)
downloadlibfuse-ada08d50a647adb37c77f2106e7adc0db6ab93d5.tar.gz
Added support for FUSE_EXPLICIT_INVAL_DATA to enable (#474)
Diffstat (limited to 'lib')
-rw-r--r--lib/fuse_lowlevel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index f2d7038..6eb949f 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -1965,6 +1965,8 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
se->conn.capable |= FUSE_CAP_HANDLE_KILLPRIV;
if (arg->flags & FUSE_NO_OPENDIR_SUPPORT)
se->conn.capable |= FUSE_CAP_NO_OPENDIR_SUPPORT;
+ if (arg->flags & FUSE_EXPLICIT_INVAL_DATA)
+ se->conn.capable |= FUSE_CAP_EXPLICIT_INVAL_DATA;
if (!(arg->flags & FUSE_MAX_PAGES)) {
size_t max_bufsize =
FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()
@@ -2085,6 +2087,8 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
outarg.flags |= FUSE_WRITEBACK_CACHE;
if (se->conn.want & FUSE_CAP_POSIX_ACL)
outarg.flags |= FUSE_POSIX_ACL;
+ if (se->conn.want & FUSE_CAP_EXPLICIT_INVAL_DATA)
+ outarg.flags |= FUSE_EXPLICIT_INVAL_DATA;
outarg.max_readahead = se->conn.max_readahead;
outarg.max_write = se->conn.max_write;
if (se->conn.proto_minor >= 13) {