Antonio SJ Musumeci
766b923116
Fix thread pool destruction where threads don't explicitly exit themselves
1 year ago
Antonio SJ Musumeci
51d97bb444
Move fuse thread args out of fuse session object
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
34310170ac
Add ability to pin read and processing threads
2 years ago
Antonio SJ Musumeci
a4491169b0
Remove FUSE_USE_VERSION, no longer used
2 years ago
Antonio SJ Musumeci
24423b8d2a
Add async message processing
2 years ago
Antonio SJ Musumeci
9d056d609f
Remove unnecessary libfuse abstractions
2 years ago
Antonio SJ Musumeci
18dead4d86
Add new debug printing routines
3 years ago
Antonio SJ Musumeci
930dad31de
Reduce struct node size
* Replace the stat values with a crc32b of them instead (for auto-cache)
* Replace char flag with bitfield
* Remove node generation. nodeid is an unsigned 64bit int. Would take 500K+ years
to rollover at 1M nodes per second.
3 years ago
Antonio SJ Musumeci
6b5c484fbf
Major rework of memory allocation using fixed mem pools
3 years ago
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
5 years ago
KARBOWSKI Piotr
f488debf96
libfuse/Makefile: support CXXFLAGS and LDFLAGS passed via environment
4 years ago
KARBOWSKI Piotr
0bc6711a95
libfuse/Makefile: support $AR
4 years ago
Antonio SJ Musumeci
dc1b698847
libfuse cleanup: remove single threaded
4 years ago
Antonio SJ Musumeci
3bfdd78434
libfuse cleanup: remove cuse
4 years ago
Antonio SJ Musumeci
a93bd9f7fa
freebsd: misc cleanups to get freebsd compiling
4 years ago
Antonio SJ Musumeci
8ed3a1f36a
debian: fix installing of fresh deb
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
5 years ago
Antonio SJ Musumeci
698c4147fc
fix getdent name length calculation
5 years ago
Antonio SJ Musumeci
d119807adb
restructure readdir, add readdir_plus
Does not enable READDIR_AUTO. Might add in the future.
6 years ago
Antonio SJ Musumeci
5ce428ca59
rework makefiles + install mount tools
5 years ago
Antonio SJ Musumeci
08e1bef5a9
improve nodeid generation
* Change fuse_ino_t to uint64_t
* Change id generation to 64bit
* Randomize generation value (should help with NFS)
5 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.
6 years ago
Antonio SJ Musumeci
529a953e30
add file caching across opens and runtime control
6 years ago
Antonio SJ Musumeci
80d56ac94e
add support for POSIX ACLs
6 years ago
Antonio SJ Musumeci
825fcf7f35
cleanup and rework build system
6 years ago
Antonio SJ Musumeci
1be9900733
rework makefiles for better manage parallel builds
6 years ago
Antonio SJ Musumeci
95c0cc741d
replace libfuse's autoconf with makefile
6 years ago