trapexit
3222de6c9c
Fixup debug output ( #1617 )
2026-02-12 22:50:38 -06:00
trapexit
9b046d9a34
Rework credential handling to support chroot & idmap ( #1595 )
...
mkdocs / deploy (push) Waiting to run
Run in an elevated credential mode (root) and let the kernel manage
entitlements. Will result in slightly different behavior but should
not be noticed by most.
2025-12-05 21:03:48 -06:00
trapexit
960f5fdbba
Fix some links in docs ( #1582 )
mkdocs / deploy (push) Waiting to run
CodeQL / Analyze (push) Has been cancelled
2025-11-18 08:35:27 -06:00
trapexit
2412ae7316
Further tweaks to config parsing and error reporting ( #1559 )
...
* Further tweaks to config parsing and error reporting
* Fix static builds
2025-11-01 15:20:30 -05:00
trapexit
727c522fb8
Rework config, centralize fuse config ( #1547 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-10-24 08:20:29 -05:00
trapexit
ca59ae53a5
idmap mount support ( #1523 )
...
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
* Add idmap mount support
* Further replacement of std::filesystem::path to fs::path
* Update docs regarding idmap support
2025-09-18 00:07:28 -05:00
trapexit
8c649d33ee
Start using std::filesystem::path for fusepath ( #1522 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-09-17 22:51:16 -05:00
trapexit
f64ff9ca1e
Revert removal of readdir init setup, simplify cfg usage ( #1520 )
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-09-06 11:03:51 -05:00
trapexit
6ac7f389c5
Misc changes ( #1513 )
...
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
trapexit
4439c2a030
Add setting of oom_score_adj ( #1504 )
...
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
2b500f194a
Rework of runtime interface ( #1498 )
...
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
f852474073
Update the secondary group cache ( #1492 )
...
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 )
...
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
77ef88b04c
Add fsck.mergerfs tool ( #1483 )
2025-06-23 21:57:55 -05:00
trapexit
095fcf82a3
Misc doc updates
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-08 23:59:17 -05:00
trapexit
e310d24615
Add support for FUSE passthrough
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-05 23:47:42 -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
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
80085c9844
Add statx support
2025-04-04 22:23:16 -05:00
Antonio SJ Musumeci
d6a2f06797
Only set allow_other when running as root
2023-10-29 01:44:18 -05:00
Antonio SJ Musumeci
a7069153bd
Warn if not running as root
2023-10-22 00:43:19 -05:00
Antonio SJ Musumeci
0aafdefc18
Add ability to invalidate gid cache on demand
...
SIGUSR2 or ioctl
2023-08-13 23:30:52 -05:00
Antonio SJ Musumeci
6dcf6111af
Add callbacks for newer functions
...
* setupmapping
* removemapping
* syncfs
* tmpfile
2023-08-13 17:38:13 -05:00
Antonio SJ Musumeci
5ab0fbcaee
Add manual GC triggering + configurable process queue depth
...
Yes, these are unrelated changes but somehow ended up being
prototyped together and I'm too lazy to separate them.
2023-06-26 22:44:23 -05:00
Antonio SJ Musumeci
eebd6e9eb4
Actively report to syslog when waiting for mounts
2023-03-28 19:01:21 -04:00
Antonio SJ Musumeci
486c5d3734
Add ability to set readahead of mergerfs and branches
2023-03-09 00:12:57 -05:00
Antonio SJ Musumeci
373d331f39
Rework fuse read to use same buffers as messages
2023-02-26 23:31:44 -05:00
Antonio SJ Musumeci
9effeb6869
Add "per-process" file caching feature
...
Allows chosing page caching based on process name.
2023-02-18 01:16:36 -05:00
Antonio SJ Musumeci
9adddfc66d
Add option to lazy umount target mount point
2023-02-02 21:20:23 -05:00
Antonio SJ Musumeci
a7113bb163
Allow setting of scheduling priority
2023-01-25 23:38:31 -05:00
Antonio SJ Musumeci
939eb3996a
Add option to wait for branches to become new mounts
...
branches-mount-timeout=UINT64 in seconds (default: 0)
2023-01-25 11:59:14 -05:00
Antonio SJ Musumeci
7606430188
Remove libfuse abstraction in prep for adding request data
2022-11-26 23:30:27 -06:00
Antonio SJ Musumeci
46ce28b149
Error when given invalid policy names
2022-08-06 23:01:23 -04:00
Antonio SJ Musumeci
43a6d66e3c
Major cleanup of libfuse to remove unneeded features
...
* Remove request interrupt code. Required tracking of all requests unnecesssarily.
* Remove all debugging printing. Have plans to do full replacement.
* Remove deprecated functions.
* Remove unneeded error checking.
* Remove "userdata" which was unused.
* Remove allow_root feature.
2021-08-29 00:05:30 -04:00
Antonio SJ Musumeci
538467b86d
config: rework global config, remove rwlock, make branches RCU like
...
Also added unit tests. Should have done separately but found a number of bugs.
2021-01-14 21:02:10 -05:00
Antonio SJ Musumeci
ec15872a1f
cleanup function signatures and definitions
2020-08-18 19:28:36 -04:00
Antonio SJ Musumeci
c0990644e8
remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok
2020-07-08 19:25:23 -04:00
Antonio SJ Musumeci
54c41c4994
rework config management
...
* Add standard way to do str2val and val2str conversion
* Add support for a config file
* Add support for reading and writing settings via ioctl
2020-06-18 18:54:25 -04:00
Antonio SJ Musumeci
d119807adb
restructure readdir, add readdir_plus
...
Does not enable READDIR_AUTO. Might add in the future.
2020-02-22 19:45:52 -05:00
Antonio SJ Musumeci
8cb7195c3e
add copy_file_range support
2019-06-03 07:12:05 -04:00
Antonio SJ Musumeci
1ca70521a4
remove 'remote' flock support
2019-05-19 17:34:56 -04:00
Antonio SJ Musumeci
6ecc618d83
remove .fuse_hidden file creation
...
addresses #521
mergerfs is written using libfuse's high level API. The HLAPI forces a certain
behavior with regard to unlinking or rename overwriting of open files. It
renames the file to .fuse_hiddenXXXXXX and when incoming requests refer
to the unlinked file it will use path based calls and use that path.
This behavior leads to rmdirs failing or some software noticing
the .fuse_hidden files.
This patch changes the HLAPI and removes entirely the .fuse_hidden behavior.
See the README for more.
2019-04-13 21:41:51 -04:00
Antonio SJ Musumeci
0918dfd117
make attr, entry, negative_entry cache timeouts runtime configurable
2019-02-23 01:03:20 -05:00
Antonio SJ Musumeci
9d9ee7b71d
general code cleanup
2019-01-31 22:47:09 -05:00
Antonio SJ Musumeci
87b2795f2b
set direct_io per open/create, now runtime configurable
2019-01-11 15:23:14 -05:00
Antonio SJ Musumeci
de0985c135
add libfuse 2.9.7 to repo and build against libfuse.a
2017-06-02 11:25:25 -04:00
Antonio SJ Musumeci
87c2f2f9dc
add nullrw feature to facilitate benchmarking
2017-05-26 18:11:18 -04:00
Antonio SJ Musumeci
162b99e6b8
enable nopath and nullpath_ok
2017-04-12 13:52:06 -04:00
Antonio SJ Musumeci
8b976ab3c1
support older libfuse without utime_omit_ok flag
2017-04-11 09:23:40 -04:00