diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/fuse_lowlevel.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c index d9844b0..5129a3b 100644 --- a/lib/fuse_lowlevel.c +++ b/lib/fuse_lowlevel.c @@ -2079,13 +2079,13 @@ void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) } se->bufsize = bufsize; - if (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE) - se->conn.max_write = bufsize - FUSE_BUFFER_HEADER_SIZE; - se->got_init = 1; if (se->op.init) se->op.init(se->userdata, &se->conn); + if (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE) + se->conn.max_write = bufsize - FUSE_BUFFER_HEADER_SIZE; + if (se->conn.want & (~se->conn.capable)) { fuse_log(FUSE_LOG_ERR, "fuse: error: filesystem requested capabilities " "0x%x that are not supported by kernel, aborting.\n", |