- Update bug_report.md by @trapexit in #1007
- Rework node slab garbage collection to limit blocking work threads by @trapexit in #1020
- Fix query of attr during symlink by @trapexit in #1023
- Change ENOENT to ESTALE for looking up paths to handle rename race conditions by @trapexit in #1025
- Lock less often during logging by @trapexit in #1026
Full Changelog: 2.33.3...2.33.4
Sorry for taking so long to get this version out. Been working on 3DO related projects and busy with work. I had hoped with COVID lockdowns I'd have spent more time working on mergerfs but the opposite occurred for a number of reasons. Regardless, now that this release is out, besides bug fixes, I intend to make the trek towards version 3.0 which will have major changes.
There was a lot of under-the-hood changes to sensitive code. I've stress tested it quite a bit but I'd not be surprised if I missed something. If anything seems odd please file a ticket or reach out directly. Enjoy.
- Major cleanup of libfuse.
- Reduced memory overhead of file metadata held in memory significantly.
- Reduce memory fragmentation by reusing certain objects via mmap'ed memory pools.
- Removed ioctl based runtime control. Wasn't used by anyone and will be completely changed in v3.
- Fix bug in mfs policy when used in non-create situations (rare)
- Fix bug in pfrd policy
- follow-symlinks: allows a number of modes where mergerfs will resolve symlinks rather than return them as symlinks.
- rename-exdev, link-exdev: configurable ways to handle when rename or link return exdev. Instead of failing with EXDEV it can instead create a symlink to the file.
- Removed most of the debug logging. The intent is to change how the logging is done eventually. I just didn't get around to it for this release. strace is typically more useful anyway. If you run with
-dit will spit out INIT flag details though. It will also write certain memory details to
- 68b3026 Remove embedded name in node struct
- 18dead4 Add new debug printing routines
- 68719da Remove ioctl runtime section, use getfattr instead of xattr
- c384509 Remove subscribestar from sponsor platforms
- 5f737cb Add option to log node memory usage metrics
- 930dad3 Reduce struct node size
- 8150957 Fix regression from remember_node refactor
- c929781 Add malloc_trim configure test
- 313aa2a Update ghc::filesystem and nonstd::optional
- 4ea0de3 Rework dirents buffer management
- 6b5c484 Major rework of memory allocation using fixed mem pools
- f598d3b Add details on dropping caches before benchmarks
- 122f9c1 Add new cirrus-ci targets
- 5263a65 Remove usage printing regression in mount_bsd
- 8def16a Fix infinite loop in mfs action policy
- 43a6d66 Major cleanup of libfuse to remove unneeded features
- df721eb Update docs with Chia wallet address
- 54e8500 Add more clarity in what to provide when submitting bug reports or questions
- 1aaf742 Update 'features' section of readme
- b4c031d tweak bug report template language
- 61c2187 Remove config ioctl calls
- 7013ff9 Update nonstd::optional to v3.4.0
- 3ce0dc5 Update ghc::filesystem to v1.5.8
- 098f353 pfrd: fix mod by zero error when all branches are filtered
- c06db9c pfrd: fix mod by zero error when all branches are filtered
- 80f3099 properly initialize fuse_buf in worker loop
- bcd5fde properly initialize fuse_buf in worker loop
- c40f42e mention bind-propagation and add link to hotio
- 44efbaa Update README.md
- 9573a05 Update bug_report.md
- 495afef README: update strace args and add question on snapraid
- 58b4eb9 Fix typo
- 9a90609 remove travis-ci
- 8adebc9 new features: follow-symlinks, rename-exdev, link-exdev
- ed0c1db fix parsing of relative branch paths
- d337574 fix parsing of relative branch paths
- 6a9f7e6 readme: update support section
- 3bc189c README: update support section
- dfb544f README: add warning/clearity about caching script and hardlinks and cow
- 538467b config: rework global config, remove rwlock, make branches RCU like
- 3808e26 Update FUNDING.yml
- e9e17ba README: misc updates and tweaks
- reset dentry buffer when rewind'ed
Wasn't clearing dentry buffer when rewinding stream.
Sorry for missing packages. Something is up with some of the build images I use. Will update when fixed.