diff options
author | Bernd Schubert <bschubert@ddn.com> | 2022-08-05 20:51:51 +0200 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2022-09-04 13:07:15 +0100 |
commit | 8de32bc3c52da74b82755c8fd6973919997408fe (patch) | |
tree | 0b676e3cba22e1f9dce827b658ea3b6014f7e95f | |
parent | d823cab63ad61a5b9ba09e6f4ccfd246572cd5e3 (diff) | |
download | fuse-8de32bc3c52da74b82755c8fd6973919997408fe.tar.gz |
Add summary of changes regarding 'max_threads' to ChangeLog.rst
Update the change log file with the summary of API changes related
to the 'max_threads' changes.
-rw-r--r-- | ChangeLog.rst | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ChangeLog.rst b/ChangeLog.rst index f4cb07c..08df4a8 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -1,3 +1,58 @@ +libfuse 3.12.0 (<unreleased>) +=========================== +* The 'max_idle_threads' parameter has performance implication + due to run time thread creation and destruction per request + and it is deprecated in favor of the new max_threads parameter. + + * API changes: + In order to avoid future version symboling and also to + allow to set fuse_loop_config defaults an API change has been + introduced beginning with API version (FUSE_USE_VERSION) 312. + 'struct fuse_loop_config' is now private and has to be + constructed using fuse_loop_cfg_create(). Besides allocating + memory this function also sets struct member default. + Desctruction (free) is done through fuse_loop_cfg_destroy(). + Struct parameters can be changed using fuse_loop_cfg_set_*() + functions. + New functions regarding the fuse-loop configuration are: + fuse_loop_cfg_create + fuse_loop_cfg_destroy + fuse_loop_cfg_set_idle_threads + fuse_loop_cfg_set_max_threads + fuse_loop_cfg_set_clone_fd + fuse_loop_cfg_convert (internal for API/ABI compatibility) + Functions details can be found in fuse_common.h + + In API version 312 the fuse_session_loop_mt() function now + also accepts struct fuse_loop_config * as NULL pointer and + uses defaults then. + + * Users of fuse_parse_cmdline() get the new option + 'max_threads' with API version 312. + + * File system conversion help: + - See example/passthrough_hp.cc + + #define FUSE_USE_VERSION FUSE_MAKE_VERSION(3, 12) + + ... + main(int argc, char *argv[]) + ... + struct fuse_loop_config *loop_config; + ... + loop_config = fuse_loop_cfg_create(); + ... + ret = fuse_session_loop_mt(se, loop_config); + ... + fuse_loop_cfg_destroy(loop_config); + + * Further notes: + Using max_threads == 1 and calling fuse_session_loop_mt() works, + it will run single threaded similar to fuse_session_loop(). In + fact, fuse_session_loop() might get deprecated in future + versions. + + libfuse 3.11.0 (2022-05-02) =========================== |