Change Summary
- readdir policies:
func.readdir=X
whereX
isseq
,cor
, orcosr
.- seq: sequential - works same as before. Iterate over each branch in order configured.
- cosr: concurrent open sequential read - dispatches requests to open directories to a thread pool and then reads directories sequentially the same way
seq
does. - cor: concurrent open and read - dispatches requests to a thread pool which both opens and reads directories concurrently.
- thread pool sizes are configurable.
cosr:5
would give you 5 threads. - see the docs for more info
- Add invalidation of gid cache via SIGUSR2 (which also triggers a full memory gc)
Changelog
- Lib updates by @trapexit in #1213
- Move fuse thread args out of fuse session object by @trapexit in #1219
- Fix logging pin-threads details by @trapexit in #1220
- Add readdir policies by @trapexit in #1224
- Add callbacks for newer functions by @trapexit in #1225
- Fix a typo in README.md by @feltcat in #1226
- Add ability to invalidate gid cache on demand by @trapexit in #1227
- Add thread names for easier debugging by @trapexit in #1228
- Fix setting of ugids for concurrent readdir by @trapexit in #1231
- Update wyhash to final4 by @trapexit in #1232
- Use relaxed memory order for atomic counters by @trapexit in #1233
- Misc fixes for older platforms by @trapexit in #1234
- Docs: clarify parallel-direct-writes and cache.files by @DavidFair in #1235
- Initialize readdir threadpool after daemonizing by @trapexit in #1237
- Change threadpool to use concurrentqueue by @trapexit in #1238
- Add proper input validation for readdir policy by @trapexit in #1239
- Rework thread pool, add ability to add/remove threads at runtime by @trapexit in #1240
- Add website and license to version option by @trapexit in #1241
- Remove unneeded debug logging from thread pool by @trapexit in #1242
- Add some new questions to FAQ by @trapexit in #1244
Documentation
https://github.com/trapexit/mergerfs/blob/2.37.0/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.