diff options
Diffstat (limited to 'lib/fuse_kern_chan.c')
-rw-r--r-- | lib/fuse_kern_chan.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/fuse_kern_chan.c b/lib/fuse_kern_chan.c index d2999c5..fbe3943 100644 --- a/lib/fuse_kern_chan.c +++ b/lib/fuse_kern_chan.c @@ -64,6 +64,8 @@ static void fuse_kern_chan_destroy(struct fuse_chan *ch) close(fuse_chan_fd(ch)); } +#define MIN_BUFSIZE 0x21000 + struct fuse_chan *fuse_kern_chan_new(int fd) { struct fuse_chan_ops op = { @@ -71,5 +73,7 @@ struct fuse_chan *fuse_kern_chan_new(int fd) .send = fuse_kern_chan_send, .destroy = fuse_kern_chan_destroy, }; - return fuse_chan_new(&op, fd, FUSE_MAX_IN, NULL); + size_t bufsize = getpagesize() + 0x1000; + bufsize = bufsize < MIN_BUFSIZE ? MIN_BUFSIZE : bufsize; + return fuse_chan_new(&op, fd, bufsize, NULL); } |