Antonio SJ Musumeci
fb1e3afdb6
fuse_open.cpp
7 months ago
Antonio SJ Musumeci
c9b7ed5b8a
Add support for file io passthrough
If using Linux 6.9 or above and enabled (passthrough=true) files
opened or created will use the FUSE passthrough feature.
If direct-io=true / cache.files=off it will override passthrough. If
direct-io-allow-mmap is enabled only mmap will passthrough.
HANDLE_KILLPRIV and V2 are enabled now by default to remove the
kernel's need to issue getattr and getxattr requests.
moveonenospc will not work when leveraging passthrough.
8 months ago
Antonio SJ Musumeci
f0444a1ca9
Add support for 'direct-io-allow-mmap' if supported by kernel
8 months ago
Antonio SJ Musumeci
0ca5d6aad0
Add export-support option as possible workaround for NFS EIO issues
9 months ago
Antonio SJ Musumeci
27349e41ef
Update fmt
9 months ago
Antonio SJ Musumeci
b3ce95c422
Update nonstd::optional
9 months ago
Antonio SJ Musumeci
cedc9f0f25
Update ghc::filesystem
9 months ago
Antonio SJ Musumeci
f66fb7e2d4
Fix user.mergerfs.pid
1 year ago
Antonio SJ Musumeci
bd70928268
Set flush-on-close default to opened-for-write
1 year ago
Antonio SJ Musumeci
d6a2f06797
Only set allow_other when running as root
1 year ago
Antonio SJ Musumeci
6aa6452d3e
Add flushonclose feature
1 year ago
Antonio SJ Musumeci
a7069153bd
Warn if not running as root
1 year ago
Antonio SJ Musumeci
fd33df04a3
Update wyhash to 4.2
1 year ago
Antonio SJ Musumeci
620cab2948
Rework thread pool queue depth impl
1 year ago
Antonio SJ Musumeci
766b923116
Fix thread pool destruction where threads don't explicitly exit themselves
1 year ago
Antonio SJ Musumeci
6d2c99e487
Remove unneeded debug logging from thread pool
1 year ago
Antonio SJ Musumeci
b91cc1c191
Add website and license to version option
1 year ago
Antonio SJ Musumeci
0a94bd7cfc
Rework thread pool, add ability to add/remove threads at runtime
1 year ago
Antonio SJ Musumeci
335ca55a6e
Add proper input validation for readdir policy
1 year ago
Antonio SJ Musumeci
76c8d48dbd
Change threadpool to use concurrentqueue
1 year ago
Antonio SJ Musumeci
0c555e71a0
Initialize readdir threadpool after daemonizing
1 year ago
Antonio SJ Musumeci
8d7017273f
Misc fixes for older platforms
1 year ago
Antonio SJ Musumeci
0ed03a1535
Use relaxed memory order for atomic counters
1 year ago
Antonio SJ Musumeci
fdecabfaab
Update wyhash to final4
1 year ago
Antonio SJ Musumeci
e586d2fd1e
Fix setting of ugids for concurrent readdir
1 year ago
Antonio SJ Musumeci
2377cb05b6
Add thread names for easier debugging
1 year ago
Antonio SJ Musumeci
0aafdefc18
Add ability to invalidate gid cache on demand
SIGUSR2 or ioctl
1 year ago
Antonio SJ Musumeci
6dcf6111af
Add callbacks for newer functions
* setupmapping
* removemapping
* syncfs
* tmpfile
1 year ago
Antonio SJ Musumeci
c92a10021e
Add readdir policies
1 year ago
Antonio SJ Musumeci
51d97bb444
Move fuse thread args out of fuse session object
1 year ago
Antonio SJ Musumeci
556c6522c0
Update fmt to v10.0.0
1 year ago
Antonio SJ Musumeci
543603bdfc
Update ghc::filesystem to v1.5.14
1 year ago
Antonio SJ Musumeci
707d298d7c
Create functions can set branches RO on EROFS
1 year ago
Antonio SJ Musumeci
fa537961c5
Simplify syslog wrapper a bit
1 year ago
Antonio SJ Musumeci
2722f4f64d
Fix error handling for cached writes
1 year 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.
2 years ago
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.
1 year ago
Antonio SJ Musumeci
82430e1079
Fix moveonenospc when file opened with append mode
1 year ago
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.
2 years ago
Antonio SJ Musumeci
cdcfef2ceb
Remove duplicate entries in docs
2 years ago
Antonio SJ Musumeci
0a64d74b4b
Change default read-thread-count from -1 to 0 as documented
2 years ago
Antonio SJ Musumeci
26fd11cb4d
Workaround older gcc bug with namespacing std::hash
2 years ago
Antonio SJ Musumeci
eebd6e9eb4
Actively report to syslog when waiting for mounts
2 years ago
Antonio SJ Musumeci
1c5b0f2f5f
Fix loading readonly / write once options from file
2 years ago
Ilya Taranov
d04e04e89a
Fix config file parsing
2 years ago
Antonio SJ Musumeci
486c5d3734
Add ability to set readahead of mergerfs and branches
2 years ago
Antonio SJ Musumeci
373d331f39
Rework fuse read to use same buffers as messages
2 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.
2 years ago
Antonio SJ Musumeci
9effeb6869
Add "per-process" file caching feature
Allows chosing page caching based on process name.
2 years ago
Antonio SJ Musumeci
2d9c915641
Return NOTTY for all btrfs ioctl calls
mergerfs tries to pass through ioctl calls but due to the complexity
of btrfs calls their is risk of segfaults. In the future it may be
required to whitelist all supported ioctl calls.
2 years ago