Antonio SJ Musumeci
a0cff637e1
Misc cleanup
2026-03-02 01:09:16 -05:00
Antonio SJ Musumeci
f69c31fd77
Rework objpool
2026-03-02 01:09:16 -05:00
Antonio SJ Musumeci
a2860c3f1f
Use debug mutex more
2026-03-02 01:09:16 -05:00
Antonio SJ Musumeci
3f70e66ee3
Rework node obj pool to use objpool
2026-03-02 01:09:16 -05:00
Antonio SJ Musumeci
15bcc47d6a
Remove "channels" and embed into session
2026-03-02 01:09:16 -05:00
Antonio SJ Musumeci
e55bb93890
Simplify lowlevel fuse state management and req mem
2026-03-02 01:09:16 -05:00
trapexit
3222de6c9c
Fixup debug output ( #1617 )
2026-02-12 22:50:38 -06:00
trapexit
4d1760cb69
Rework new lup policy to work on 32bit systems ( #1603 )
...
__int128 is not available on 32bit platforms. Moved to extended
precision floats.
2025-12-14 14:56:34 -06:00
trapexit
37f10888a9
Add more debugging options to makefiles and cleanup ( #1556 )
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-10-29 22:42:42 -05:00
trapexit
727c522fb8
Rework config, centralize fuse config ( #1547 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-10-24 08:20:29 -05:00
trapexit
0371f03def
Rework how fuse request context is handled ( #1543 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-10-12 23:21:36 -05:00
trapexit
25b0bc72df
Fix dirent64::namelen calculation ( #1538 )
...
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
Worked fine on my machine where padding seemed to be all zeroed out
but that doesn't appear to be the case elsewhere.
Could try
https://codeberg.org/jbruchon/libjodycode/src/branch/master/dir.c#L92-L110
but needs to be tested.
2025-09-30 11:25:19 -05:00
trapexit
46f85c0f6d
Misc fixes, mostly for FreeBSD ( #1536 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-09-28 23:17:51 -05:00
trapexit
2f3e807e9d
Add getdents based readdir functions for Linux ( #1533 )
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-09-23 23:51:21 -05:00
trapexit
ca59ae53a5
idmap mount support ( #1523 )
...
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
* Add idmap mount support
* Further replacement of std::filesystem::path to fs::path
* Update docs regarding idmap support
2025-09-18 00:07:28 -05:00
trapexit
b18aba86b6
Build improvements ( #1501 )
...
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
f852474073
Update the secondary group cache ( #1492 )
...
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
23824eaeb4
Misc cleanup
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
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
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
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
17fdbf7f42
Update fuse_kernel.h
2024-02-18 17:50:34 -06: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
6dcf6111af
Add callbacks for newer functions
...
* setupmapping
* removemapping
* syncfs
* tmpfile
2023-08-13 17:38:13 -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
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
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
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
d14427ad9e
Fix reading of setxattr name
2022-12-08 18:40:08 -05:00
Antonio SJ Musumeci
7606430188
Remove libfuse abstraction in prep for adding request data
2022-11-26 23:30:27 -06:00
Antonio SJ Musumeci
dba9c4451a
Remove write_buf, simplify FUSE msg dispatching
2022-11-10 22:43:02 -05:00
Antonio SJ Musumeci
9d056d609f
Remove unnecessary libfuse abstractions
2022-11-07 23:09:25 -05:00
Antonio SJ Musumeci
316abba0ac
Update fuse_kernel.h
2022-11-03 23:28:44 -04:00
Antonio SJ Musumeci
18dead4d86
Add new debug printing routines
2021-10-27 22:12:10 -04:00
Antonio SJ Musumeci
5f737cb7bf
Add option to log node memory usage metrics
2021-10-11 11:57:16 -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
4ea0de3ef2
Rework dirents buffer management
2021-09-19 16:48:03 -04:00