Commit graph

422 commits

Author SHA1 Message Date
Antonio SJ Musumeci
6c064487f7 mergerfs.cpp 2025-09-10 17:55:07 -05:00
Antonio SJ Musumeci
0ac8fc2529 mergerfs.cpp 2025-09-10 17:47:44 -05:00
Antonio SJ Musumeci
db47d9431d mergerfs.cpp 2025-09-10 17:47:22 -05:00
Antonio SJ Musumeci
b5f3255400 state.hpp 2025-09-09 23:31:49 -05:00
Antonio SJ Musumeci
02f01e1d64 state.hpp 2025-09-09 23:31:45 -05:00
trapexit
f64ff9ca1e
Revert removal of readdir init setup, simplify cfg usage (#1520)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-09-06 11:03:51 -05:00
trapexit
d7549f8d53
Fix string manipulation functions after refactor (#1514) 2025-08-22 19:42:31 -05:00
trapexit
6ac7f389c5
Misc changes (#1513)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
* Start moving to string_view where possible
* Rework readdir object to use atomic load/store
2025-08-21 22:42:58 -05:00
Max.-F. Helm
dd1bea52cd
Allow empty lines in config ini files (#1509)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
* Allow empty lines in config files

* Add example comment to ini example in docs/quickstart.md

---------

Co-authored-by: Max-F-Helm <m7t24zklr@relay.firefox.com>
2025-08-13 20:00:05 -05:00
trapexit
df19f99976
Fix constructing string from attrval setxattr config (#1508)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-08-11 19:50:12 -05:00
trapexit
4439c2a030
Add setting of oom_score_adj (#1504)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
To limit risk of killing by OOM Killer.
2025-08-07 23:58:06 -05:00
trapexit
b18aba86b6
Build improvements (#1501)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
* Remove python dependency
* Remove ecfd
* Improve makefiles
* Make preload.so more 32bit compatible
2025-08-04 23:39:52 -05:00
trapexit
33fc26f81f
Cleanup copy functions (#1500)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-07-27 16:23:45 -05:00
trapexit
e8cd74cab0
Move everything to negative errno return types (#1499)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-07-25 17:53:48 -05:00
trapexit
2b500f194a
Rework of runtime interface (#1498)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
Also have special error handling for when branches are invalid and
ENOENT would be returned for getattr and readdir so users understand
what is going on and the runtime interface can still be used to fix
the problem.
2025-07-21 18:18:59 -05:00
trapexit
e87867cd2a
Clear O_NOFOLLOW when opening a relative fd (#1494)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-07-08 18:25:00 -05:00
trapexit
fa851eda3a
Ensure passthrough and keep_cache are mutually exclusive (#1493)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-07-06 18:31:47 -05:00
trapexit
f852474073
Update the secondary group cache (#1492)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
* Use concurrent_flat_map to build a global cache rather than per
thread.
* Create global maintanence thread manager for clearing unused cache
entries.
2025-07-05 17:05:53 -05:00
trapexit
9e626228be
Add mergerfs.collect-info (#1491)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
A tool to collect info for support requests.
2025-07-03 20:18:05 -05:00
trapexit
e216a81a27
Rework movefile and cow break to use copyfile (#1488)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-28 17:27:40 -05:00
trapexit
264c5600f8
Misc cleanup (#1486)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
* Skip non-directories when loading branches
* Warn if branch doesn't exist
* Add braces to globbing
2025-06-25 22:43:49 -05:00
trapexit
be49dbe1bd
Remove linux only getdents in favor of readdir for FreeBSD sake (#1485)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-06-24 19:31:40 -05:00
trapexit
eb124316c9
Set default read thread count to 0 (#1484)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-23 22:39:42 -05:00
trapexit
77ef88b04c
Add fsck.mergerfs tool (#1483) 2025-06-23 21:57:55 -05:00
trapexit
095fcf82a3
Misc doc updates
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-08 23:59:17 -05:00
trapexit
1b167d34d8
Spawn "mount" on branches when waiting for mounts enabled
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-08 15:09:47 -05:00
trapexit
23824eaeb4
Misc cleanup
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-06-06 19:10:19 -05:00
trapexit
e310d24615
Add support for FUSE passthrough
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-05 23:47:42 -05:00
trapexit
92312c8507
Add debugging of mutexes (#1470)
When DEBUG defined it will used timed locks which will log when held
too long along with where.
2025-05-26 00:44:39 -05:00
trapexit
4b751c2d37
Fix incorrect dyn cast (#1467) 2025-05-19 22:46:55 -05:00
trapexit
86b50d2d4e
Rework policies to return branches rather than path strings 2025-05-17 16:35:18 -05:00
trapexit
fa3266ca7f
Add podman release build tooling + misc build fixes (#1455) 2025-05-08 00:00:53 -05:00
trapexit
344014aa81
Rework thread pool for increased stability + config and doc updates (#1453)
Also updates fmt to 11.2.0 and replaced syslog usage with a wrapper
leveraging fmt.
2025-05-05 18:28:49 -05:00
Antonio SJ Musumeci
2b04a791b7 Add config option to control default_permissions
Defaults true but there might be some situations where it is useful to
disable.
2025-04-25 16:34:39 -05:00
Antonio SJ Musumeci
de2a82800a Improve mount waiting + misc doc improvements
Adds user.mergerfs.branch and user.mergerfs.branch_mounts_here
Adds .mergerfs.branch and .mergerfs.branch_mounts_here files.
2025-04-23 15:58:36 -05:00
Antonio SJ Musumeci
77bf16e9ae Change the "devino" inode calculation
Use hashing of branch path rather than use st_dev.
2025-04-15 18:54:51 -05:00
Antonio SJ Musumeci
80085c9844 Add statx support 2025-04-04 22:23:16 -05:00
Antonio SJ Musumeci
f74dc36e92 Replace usage of wyhash with rapidhash
https://github.com/Nicoshev/rapidhash
2025-03-30 17:57:20 -05:00
Antonio SJ Musumeci
b7f7f7fa97 Change misc defaults
* category.create=pfrd
* moveonenospc=pfrd
* cache.files=off
* parallel-direct-writes=true

These changes were made to match the recommended settings for most
users to reduce confusion.
2025-03-30 17:22:38 -05:00
Antonio SJ Musumeci
92ae63e842 Support Linux v6.13 FUSE max_page_limit 2025-03-30 00:07:08 -05:00
Antonio SJ Musumeci
b83bd5fd14 Improve FreeBSD compatibility
First draft. Need to investigate why upstream patches include certain
function that appear to exist in FreeBSD 14.2.
2025-01-15 22:10:02 -06:00
Antonio SJ Musumeci
f0444a1ca9 Add support for 'direct-io-allow-mmap' if supported by kernel 2024-03-21 20:48:42 -05:00
Antonio SJ Musumeci
0ca5d6aad0 Add export-support option as possible workaround for NFS EIO issues 2024-02-19 18:58:50 -06:00
Antonio SJ Musumeci
27349e41ef Update fmt 2024-02-18 17:24:18 -06:00
Antonio SJ Musumeci
b3ce95c422 Update nonstd::optional 2024-02-18 17:24:18 -06:00
Antonio SJ Musumeci
cedc9f0f25 Update ghc::filesystem 2024-02-18 17:24:18 -06:00
trapexit
96d34f1eab
Merge pull request #1280 from trapexit/getpid
Fix user.mergerfs.pid
2023-11-11 19:48:28 -06:00
Antonio SJ Musumeci
f66fb7e2d4 Fix user.mergerfs.pid 2023-11-11 19:03:32 -06:00
Antonio SJ Musumeci
bd70928268 Set flush-on-close default to opened-for-write 2023-10-31 09:23:52 -05:00
Antonio SJ Musumeci
d6a2f06797 Only set allow_other when running as root 2023-10-29 01:44:18 -05:00