Commit graph

137 commits

Author SHA1 Message Date
Antonio SJ Musumeci
aa0b4141d6 mutex_debug.hpp 2025-08-23 13:59:38 -05:00
trapexit
b18aba86b6
Build improvements (#1501)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
* Remove python dependency
* Remove ecfd
* Improve makefiles
* Make preload.so more 32bit compatible
2025-08-04 23:39:52 -05:00
trapexit
fa851eda3a
Ensure passthrough and keep_cache are mutually exclusive (#1493)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-07-06 18:31:47 -05:00
trapexit
f852474073
Update the secondary group cache (#1492)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
* Use concurrent_flat_map to build a global cache rather than per
thread.
* Create global maintanence thread manager for clearing unused cache
entries.
2025-07-05 17:05:53 -05:00
trapexit
77ef88b04c
Add fsck.mergerfs tool (#1483) 2025-06-23 21:57:55 -05:00
trapexit
23824eaeb4
Misc cleanup
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-06-06 19:10:19 -05:00
trapexit
e310d24615
Add support for FUSE passthrough
Some checks are pending
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-05 23:47:42 -05:00
trapexit
92312c8507
Add debugging of mutexes (#1470)
When DEBUG defined it will used timed locks which will log when held
too long along with where.
2025-05-26 00:44:39 -05:00
trapexit
fa3266ca7f
Add podman release build tooling + misc build fixes (#1455) 2025-05-08 00:00:53 -05:00
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.
2025-05-05 18:28:49 -05:00
Antonio SJ Musumeci
77bf16e9ae Change the "devino" inode calculation
Use hashing of branch path rather than use st_dev.
2025-04-15 18:54:51 -05:00
Antonio SJ Musumeci
80085c9844 Add statx support 2025-04-04 22:23:16 -05:00
Antonio SJ Musumeci
92ae63e842 Support Linux v6.13 FUSE max_page_limit 2025-03-30 00:07:08 -05:00
Antonio SJ Musumeci
b83bd5fd14 Improve FreeBSD compatibility
First draft. Need to investigate why upstream patches include certain
function that appear to exist in FreeBSD 14.2.
2025-01-15 22:10:02 -06:00
trapexit
0197984db3 Send invalidate node request outside lock 2025-01-09 23:22:07 -06:00
Antonio SJ Musumeci
9056898bbf Move fuse.c and fuse_lowlevel.c to C++ 2025-01-09 19:05:32 -06:00
Antonio SJ Musumeci
f0444a1ca9 Add support for 'direct-io-allow-mmap' if supported by kernel 2024-03-21 20:48:42 -05:00
Antonio SJ Musumeci
951eb9540d Ensure lookups of FUSE_ROOT_ID always return generation=0 2024-02-25 17:14:15 -06:00
Antonio SJ Musumeci
0ca5d6aad0 Add export-support option as possible workaround for NFS EIO issues 2024-02-19 18:58:50 -06:00
Antonio SJ Musumeci
17fdbf7f42 Update fuse_kernel.h 2024-02-18 17:50:34 -06:00
Antonio SJ Musumeci
d6a2f06797 Only set allow_other when running as root 2023-10-29 01:44:18 -05:00
Antonio SJ Musumeci
6aa6452d3e Add flushonclose feature 2023-10-28 19:47:23 -05:00
Antonio SJ Musumeci
fd33df04a3 Update wyhash to 4.2 2023-10-21 18:03:05 -05:00
Antonio SJ Musumeci
569537df9e Remove use of pthread_getname_np to work with older musl versions 2023-10-14 01:15:29 -05:00
Antonio SJ Musumeci
620cab2948 Rework thread pool queue depth impl 2023-10-14 00:58:10 -05:00
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
6d2c99e487 Remove unneeded debug logging from thread pool 2023-09-04 18:39:43 -05:00
Antonio SJ Musumeci
0a94bd7cfc Rework thread pool, add ability to add/remove threads at runtime 2023-09-03 23:36:03 -05:00
Antonio SJ Musumeci
76c8d48dbd Change threadpool to use concurrentqueue 2023-09-02 00:45:47 -05:00
Antonio SJ Musumeci
0ed03a1535 Use relaxed memory order for atomic counters 2023-08-21 15:43:03 -05:00
Antonio SJ Musumeci
2377cb05b6 Add thread names for easier debugging 2023-08-14 17:51:41 -05:00
Antonio SJ Musumeci
0aafdefc18 Add ability to invalidate gid cache on demand
SIGUSR2 or ioctl
2023-08-13 23:30:52 -05:00
Antonio SJ Musumeci
6dcf6111af Add callbacks for newer functions
* setupmapping
* removemapping
* syncfs
* tmpfile
2023-08-13 17:38:13 -05:00
Antonio SJ Musumeci
eb141c4c4e Fix logging pin-threads details 2023-07-30 23:13:14 -05:00
Antonio SJ Musumeci
51d97bb444 Move fuse thread args out of fuse session object 2023-07-30 22:52:43 -05:00
trapexit
36a4b7a23a
Merge pull request #1209 from trapexit/o_direct
Align msg buffer memory to allow O_DIRECT to work
2023-07-09 19:39:52 -04:00
Antonio SJ Musumeci
22833bdfe2 Align msg buffer memory to allow O_DIRECT to work 2023-07-09 15:32:11 -05:00
Antonio SJ Musumeci
fa537961c5 Simplify syslog wrapper a bit 2023-07-06 00:13:42 -05:00
Antonio SJ Musumeci
5d6c9cc56a Fix build on older distros due to std::atomic definitions
std::atomic_uint64_t missing in some older distros
2023-07-02 23:46:46 -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
6a14a10e6c Fix read/write behavior and return value depending on direct_io
Also add parallel direct write option for 6.2+ kernels.
2023-06-24 23:06:14 -05:00
Antonio SJ Musumeci
6bc3d77992 Fix crash when exiting with open deleted files 2023-04-05 00:32:30 -04:00
Antonio SJ Musumeci
373d331f39 Rework fuse read to use same buffers as messages 2023-02-26 23:31:44 -05:00
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.
2023-02-26 01:42:58 -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
9adddfc66d Add option to lazy umount target mount point 2023-02-02 21:20:23 -05:00
Antonio SJ Musumeci
a4491169b0 Remove FUSE_USE_VERSION, no longer used 2023-01-29 17:04:08 -05:00
Antonio SJ Musumeci
7ed91c1668 Backport bug fixes from libfuse3 2023-01-28 01:17:07 -05:00
Antonio SJ Musumeci
92ccfd3c89 Hard code setting of allow_other, ignore when set 2023-01-26 23:37:37 -05:00
Antonio SJ Musumeci
3ee93d4c56 Remove 'nonempty' argument
This makes it like all other filesystems and brings it into alignment
with libfuse3's behavior.
2023-01-16 23:33:36 -05:00