trapexit
2412ae7316
Further tweaks to config parsing and error reporting ( #1559 )
* Further tweaks to config parsing and error reporting
* Fix static builds
1 week ago
trapexit
727c522fb8
Rework config, centralize fuse config ( #1547 )
2 weeks ago
trapexit
8c649d33ee
Start using std::filesystem::path for fusepath ( #1522 )
2 months ago
trapexit
f64ff9ca1e
Revert removal of readdir init setup, simplify cfg usage ( #1520 )
2 months ago
trapexit
6ac7f389c5
Misc changes ( #1513 )
* Start moving to string_view where possible
* Rework readdir object to use atomic load/store
3 months ago
trapexit
fa851eda3a
Ensure passthrough and keep_cache are mutually exclusive ( #1493 )
4 months ago
trapexit
264c5600f8
Misc cleanup ( #1486 )
* Skip non-directories when loading branches
* Warn if branch doesn't exist
* Add braces to globbing
5 months ago
trapexit
e310d24615
Add support for FUSE passthrough
5 months ago
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.
6 months ago
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.
7 months ago
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.
7 months ago
Antonio SJ Musumeci
d6a2f06797
Only set allow_other when running as root
2 years ago
Antonio SJ Musumeci
b91cc1c191
Add website and license to version option
2 years ago
Antonio SJ Musumeci
51d97bb444
Move fuse thread args out of fuse session object
2 years ago
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.
3 years ago
Antonio SJ Musumeci
cdcfef2ceb
Remove duplicate entries in docs
3 years ago
Antonio SJ Musumeci
1c5b0f2f5f
Fix loading readonly / write once options from file
3 years ago
Antonio SJ Musumeci
84592a9f13
Remove splicing features
After numerous tests it was found the splice features were at best
the same performance as standard IO and at worse actually slower.
To simplify the code all splice features are removed.
3 years ago
Antonio SJ Musumeci
9adddfc66d
Add option to lazy umount target mount point
3 years ago
Antonio SJ Musumeci
3e313cd605
Forbid adding mountpoint to branch list
3 years ago
Antonio SJ Musumeci
92ccfd3c89
Hard code setting of allow_other, ignore when set
3 years ago
Antonio SJ Musumeci
3ee93d4c56
Remove 'nonempty' argument
This makes it like all other filesystems and brings it into alignment
with libfuse3's behavior.
3 years ago
Antonio SJ Musumeci
d11807ef7c
Remove use_ino option and make behavior same as if set
3 years ago
Antonio SJ Musumeci
24423b8d2a
Add async message processing
3 years ago
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.
5 years ago
Antonio SJ Musumeci
7edd3c6cf3
config: fix invalid error check when parsing config file
5 years ago
Antonio SJ Musumeci
767039c492
option_parser: return 0 when requesting help or version
5 years ago
Antonio SJ Musumeci
fc3453932a
branches: add per branch minfreespace w/ original value as default
example: /mnt/disk0=RW,1G:/mnt/disk1=RW,2G
5 years ago
Antonio SJ Musumeci
0709b2e447
add missing options to usage
5 years ago
Andrea Gelmini
3a6738475a
Fix typos
5 years ago
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
6 years ago
Antonio SJ Musumeci
d119807adb
restructure readdir, add readdir_plus
Does not enable READDIR_AUTO. Might add in the future.
7 years ago
Antonio SJ Musumeci
903d39f968
add writeback caching
6 years ago
Antonio SJ Musumeci
5ca928e436
accept old arguments for backwards compatibility
7 years ago
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.
7 years ago
Antonio SJ Musumeci
529a953e30
add file caching across opens and runtime control
7 years ago
Antonio SJ Musumeci
ddf6a2f105
make async_read optional again
7 years ago
Antonio SJ Musumeci
2323c16316
add readdir caching
7 years ago
Antonio SJ Musumeci
1baa706d37
add symlink caching
7 years ago
Antonio SJ Musumeci
80d56ac94e
add support for POSIX ACLs
7 years ago
Antonio SJ Musumeci
e052446713
fix setting of fsname
7 years ago
Antonio SJ Musumeci
0918dfd117
make attr, entry, negative_entry cache timeouts runtime configurable
7 years ago
Antonio SJ Musumeci
9d9ee7b71d
general code cleanup
7 years ago
Antonio SJ Musumeci
c5b2415daf
remove `defaults`, hard code atomic_o_trunc, big_writes, and default_permissions
`defaults` is a value used by all filesystems and isn't passed through to
mergerfs when mounting via the fstab or the mount command. This led
to inconsistent application of options. atomic_o_trunc, big_writes, and
default_permissions should be enabled all the time anyway and splice_*
can lead to issues so they are not always enabled.
7 years ago
Antonio SJ Musumeci
5be7e007ce
add statfs cache
7 years ago
Antonio SJ Musumeci
7a057daa0c
add policy cache for 'open'
A fusepath -> basepath cache for `open` to limit the overhead of FUSE in 'open, read/write, close' patterns (such as Transmission).
7 years ago
Antonio SJ Musumeci
87b2795f2b
set direct_io per open/create, now runtime configurable
7 years ago
Antonio SJ Musumeci
7d9458fdd1
change xattr setting notsup to nosys
7 years ago
Antonio SJ Musumeci
680f8194f9
add ability to change statfs behavior
7 years ago
Antonio SJ Musumeci
b55ebba4ed
add tagging branches RW/RO/NW
This allows users to tag a branch as readonly or not for writing regardless
of how the filesystem is mounted. Should simplify deployments and offer
more flexibility.
7 years ago