aboutsummaryrefslogtreecommitdiffstats
path: root/lib/fuse.c
diff options
context:
space:
mode:
authorJoseph Dodge <joseph.dodge@veritas.com>2017-08-24 14:37:10 +0200
committerNikolaus Rath <Nikolaus@rath.org>2017-08-24 15:17:01 +0200
commitf12d9686d4d673e59b8f561c49996820763220b1 (patch)
treea06f9f3941f2abe727eb06f5ff1ec70972498208 /lib/fuse.c
parentfc83143867a37e34a51ce5a6d763b46715abf02d (diff)
downloadlibfuse-f12d9686d4d673e59b8f561c49996820763220b1.tar.gz
Add idle_threads mount option.
Diffstat (limited to 'lib/fuse.c')
-rw-r--r--lib/fuse.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/fuse.c b/lib/fuse.c
index 0f2a6d6..75ae38a 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -4382,7 +4382,9 @@ int fuse_loop(struct fuse *f)
return fuse_session_loop(f->se);
}
-int fuse_loop_mt(struct fuse *f, int clone_fd)
+int fuse_loop_mt_32(struct fuse *f, struct fuse_loop_config *config);
+FUSE_SYMVER(".symver fuse_loop_mt_32,fuse_loop_mt@@FUSE_3.2");
+int fuse_loop_mt_32(struct fuse *f, struct fuse_loop_config *config)
{
if (f == NULL)
return -1;
@@ -4391,11 +4393,21 @@ int fuse_loop_mt(struct fuse *f, int clone_fd)
if (res)
return -1;
- res = fuse_session_loop_mt(fuse_get_session(f), clone_fd);
+ res = fuse_session_loop_mt(fuse_get_session(f), config);
fuse_stop_cleanup_thread(f);
return res;
}
+int fuse_loop_mt_31(struct fuse *f, int clone_fd);
+FUSE_SYMVER(".symver fuse_loop_mt_31,fuse_loop_mt@FUSE_3.1");
+int fuse_loop_mt_31(struct fuse *f, int clone_fd)
+{
+ struct fuse_loop_config config;
+ config.clone_fd = clone_fd;
+ config.max_idle_threads = 10;
+ return fuse_loop_mt_32(f, &config);
+}
+
void fuse_exit(struct fuse *f)
{
fuse_session_exit(f->se);