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
0f24bb29ac
Make allow-idmap optional (default: false) ( #1541 )
...
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
This is just to correct default behavior for now. More investigation
is necessary to properly support idmapping.
2025-10-06 14:46:58 -05:00
trapexit
569a151da2
Add ability to proxy ioprio of client apps ( #1534 )
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-09-26 11:36:56 -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
Max.-F. Helm
dd1bea52cd
Allow empty lines in config ini files ( #1509 )
...
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
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
eb124316c9
Set default read thread count to 0 ( #1484 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-23 22:39:42 -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
86b50d2d4e
Rework policies to return branches rather than path strings
2025-05-17 16:35:18 -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
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
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
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
6aa6452d3e
Add flushonclose feature
2023-10-28 19:47:23 -05:00
Antonio SJ Musumeci
c92a10021e
Add readdir policies
2023-08-11 00:05:14 -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
6a14a10e6c
Fix read/write behavior and return value depending on direct_io
...
Also add parallel direct write option for 6.2+ kernels.
2023-06-24 23:06:14 -05:00
Antonio SJ Musumeci
c72997f298
Make srcmounts readonly
...
All tools only read from srcmounts and the current setup had a bug
which caused branch mode and minfreespace to be stripped when using
config file.
2023-04-05 22:24:24 -04:00
Antonio SJ Musumeci
0a64d74b4b
Change default read-thread-count from -1 to 0 as documented
2023-03-31 12:54:57 -04:00
Antonio SJ Musumeci
1c5b0f2f5f
Fix loading readonly / write once options from file
2023-03-19 23:40:32 -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
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
24423b8d2a
Add async message processing
2023-01-16 13:15:53 -05:00
Antonio SJ Musumeci
18dead4d86
Add new debug printing routines
2021-10-27 22:12:10 -04:00
Antonio SJ Musumeci
8adebc9489
new features: follow-symlinks, rename-exdev, link-exdev
...
* follow-symlinks: allows mergerfs to transparently follow symlinks
* link-exdev: in the event a link returns EXDEV create a symlink instead
* rename-exdev: in the event a rename returns EXDEV move the oldpath and
create a symlink for the newpath
2021-02-11 23:24:08 -05: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
fc3453932a
branches: add per branch minfreespace w/ original value as default
...
example: /mnt/disk0=RW,1G:/mnt/disk1=RW,2G
2020-09-04 21:04:45 -04:00
Antonio SJ Musumeci
2696079601
break fs.hpp up into separate files
2020-08-18 19:28:36 -04:00
Antonio SJ Musumeci
15a0aedd25
cleanup: move some config data structures to separate files
2020-07-29 21:42:43 -04:00
Antonio SJ Musumeci
93218a343a
NFS open/creat hack
...
A hack to work around non-POSIX NFS <-> FUSE behavior where it turns
an open(O_EXCL|O_CREAT,0444) into multiple calls that results in
EACCES.
2020-07-23 19:36:10 -04:00
Antonio SJ Musumeci
b4397f7f2e
add 'inodecalc' option to allow selection of inode calculation algo
2020-06-28 20:02:07 -04:00
Antonio SJ Musumeci
dbdd3e22fc
additional readdir refactor cleanup
...
Differences between readdir and getdents is minimal at best. Leaving code
for now to allow for possible expansion later.
2020-06-27 23:17:21 -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
903d39f968
add writeback caching
2020-02-09 21:08:53 -05:00
Antonio SJ Musumeci
7cbd88ac81
allow setting of 'max_pages' (via 'fuse_msg_size')
...
Linux 4.20 and above allow setting the number of pages per FUSE message
upto 256 (4K * 256 = 1MiB). This can greatly increase read and write
speeds depending on the workload.
2019-06-03 21:01:19 -04:00
Antonio SJ Musumeci
529a953e30
add file caching across opens and runtime control
2019-05-30 00:10:08 -04:00
Antonio SJ Musumeci
ddf6a2f105
make async_read optional again
2019-05-28 15:57:50 -04:00
Antonio SJ Musumeci
1baa706d37
add symlink caching
2019-05-22 19:25:38 -04:00