Antonio SJ Musumeci
8f1ef59770
Move 3rd party libraries to "vendored" directory
2 weeks ago
Antonio SJ Musumeci
15bcc47d6a
Remove "channels" and embed into session
4 weeks ago
Antonio SJ Musumeci
e55bb93890
Simplify lowlevel fuse state management and req mem
4 weeks ago
trapexit
3222de6c9c
Fixup debug output ( #1617 )
4 weeks ago
trapexit
0371f03def
Rework how fuse request context is handled ( #1543 )
5 months ago
trapexit
46f85c0f6d
Misc fixes, mostly for FreeBSD ( #1536 )
6 months ago
trapexit
f852474073
Update the secondary group cache ( #1492 )
* Use concurrent_flat_map to build a global cache rather than per
thread.
* Create global maintanence thread manager for clearing unused cache
entries.
8 months ago
trapexit
e310d24615
Add support for FUSE passthrough
9 months ago
Antonio SJ Musumeci
77bf16e9ae
Change the "devino" inode calculation
Use hashing of branch path rather than use st_dev.
11 months ago
Antonio SJ Musumeci
80085c9844
Add statx support
12 months ago
Antonio SJ Musumeci
6dcf6111af
Add callbacks for newer functions
* setupmapping
* removemapping
* syncfs
* tmpfile
3 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
373d331f39
Rework fuse read to use same buffers as messages
3 years ago
Antonio SJ Musumeci
34310170ac
Add ability to pin read and processing threads
3 years ago
Antonio SJ Musumeci
a4491169b0
Remove FUSE_USE_VERSION, no longer used
3 years ago
Antonio SJ Musumeci
24423b8d2a
Add async message processing
3 years ago
Antonio SJ Musumeci
7606430188
Remove libfuse abstraction in prep for adding request data
3 years ago
Antonio SJ Musumeci
18dead4d86
Add new debug printing routines
4 years ago
Antonio SJ Musumeci
5f737cb7bf
Add option to log node memory usage metrics
4 years ago
Antonio SJ Musumeci
4ea0de3ef2
Rework dirents buffer management
5 years ago
Antonio SJ Musumeci
6b5c484fbf
Major rework of memory allocation using fixed mem pools
5 years ago
Antonio SJ Musumeci
43a6d66e3c
Major cleanup of libfuse to remove unneeded features
* Remove request interrupt code. Required tracking of all requests unnecesssarily.
* Remove all debugging printing. Have plans to do full replacement.
* Remove deprecated functions.
* Remove unneeded error checking.
* Remove "userdata" which was unused.
* Remove allow_root feature.
5 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
6 years ago
Antonio SJ Musumeci
1b26f4908e
general cleanup, slight memory reduction
5 years ago
Antonio SJ Musumeci
a925fbe59c
libfuse cleanup: extern cplusplus cleanup
6 years ago
Antonio SJ Musumeci
dc1b698847
libfuse cleanup: remove single threaded
6 years ago
Antonio SJ Musumeci
3c761b708b
libfuse cleanup: remove libfuse API compatibility
6 years ago
Antonio SJ Musumeci
f9b831eb1a
libfuse cleanup: reindent
6 years ago
Antonio SJ Musumeci
c0990644e8
remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok
6 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
7 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
8cb7195c3e
add copy_file_range support
7 years ago
Antonio SJ Musumeci
61cded5b34
fix for unlink race condition
7 years ago
Antonio SJ Musumeci
6ecc618d83
remove .fuse_hidden file creation
addresses #521
mergerfs is written using libfuse's high level API. The HLAPI forces a certain
behavior with regard to unlinking or rename overwriting of open files. It
renames the file to .fuse_hiddenXXXXXX and when incoming requests refer
to the unlinked file it will use path based calls and use that path.
This behavior leads to rmdirs failing or some software noticing
the .fuse_hidden files.
This patch changes the HLAPI and removes entirely the .fuse_hidden behavior.
See the README for more.
7 years ago
Antonio SJ Musumeci
0918dfd117
make attr, entry, negative_entry cache timeouts runtime configurable
7 years ago
Antonio SJ Musumeci
7bf607bb6b
fix FS_IOC_{GET,SET}{FLAGS,VERSION} ioctl calls
7 years ago
Antonio SJ Musumeci
75ed37a11a
add setting of thread pool size
9 years ago
Antonio SJ Musumeci
de0985c135
add libfuse 2.9.7 to repo and build against libfuse.a
10 years ago