Antonio SJ Musumeci
766b923116
Fix thread pool destruction where threads don't explicitly exit themselves
2023-09-09 16:48:47 -05:00
Antonio SJ Musumeci
51d97bb444
Move fuse thread args out of fuse session object
2023-07-30 22:52:43 -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
34310170ac
Add ability to pin read and processing threads
2023-02-19 17:52:29 -05:00
Antonio SJ Musumeci
a4491169b0
Remove FUSE_USE_VERSION, no longer used
2023-01-29 17:04:08 -05:00
Antonio SJ Musumeci
24423b8d2a
Add async message processing
2023-01-16 13:15:53 -05:00
Antonio SJ Musumeci
9d056d609f
Remove unnecessary libfuse abstractions
2022-11-07 23:09:25 -05:00
Antonio SJ Musumeci
18dead4d86
Add new debug printing routines
2021-10-27 22:12:10 -04:00
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.
2021-10-03 22:15:34 -04:00
Antonio SJ Musumeci
6b5c484fbf
Major rework of memory allocation using fixed mem pools
2021-09-19 16:48:03 -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
trapexit
17925c4c93
Merge pull request #809 from trapexit/libfuse-cleanup
...
Libfuse cleanup
2020-08-08 19:00:43 -04:00
KARBOWSKI Piotr
f488debf96
libfuse/Makefile: support CXXFLAGS and LDFLAGS passed via environment
2020-08-08 22:04:14 +02:00
KARBOWSKI Piotr
0bc6711a95
libfuse/Makefile: support $AR
2020-08-08 22:03:28 +02:00
Antonio SJ Musumeci
dc1b698847
libfuse cleanup: remove single threaded
2020-08-07 16:38:24 -04:00
Antonio SJ Musumeci
3bfdd78434
libfuse cleanup: remove cuse
2020-08-07 16:38:24 -04:00
Antonio SJ Musumeci
a93bd9f7fa
freebsd: misc cleanups to get freebsd compiling
2020-07-29 13:08:38 -04:00
Antonio SJ Musumeci
8ed3a1f36a
debian: fix installing of fresh deb
2020-06-30 09:30:31 -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
698c4147fc
fix getdent name length calculation
2020-03-12 23:45:20 -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
5ce428ca59
rework makefiles + install mount tools
2020-02-21 12:33:00 -05:00
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)
2019-09-30 23:28:45 -04: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
80d56ac94e
add support for POSIX ACLs
2019-05-19 18:17:55 -04:00
Antonio SJ Musumeci
825fcf7f35
cleanup and rework build system
2019-05-03 09:42:15 -04:00
Antonio SJ Musumeci
1be9900733
rework makefiles for better manage parallel builds
2019-03-10 19:29:35 -04:00
Antonio SJ Musumeci
95c0cc741d
replace libfuse's autoconf with makefile
2019-02-18 21:36:32 -05:00