Antonio SJ Musumeci
042f690990
node.h
2024-04-11 22:46:39 -05:00
Antonio SJ Musumeci
ea3bb5ea84
fuse_lowlevel.c
2024-04-10 08:11:25 -05:00
Antonio SJ Musumeci
a09cf45a35
fuse_lowlevel.c
2024-04-09 23:23:03 -05:00
Antonio SJ Musumeci
70628453a2
fuse_lowlevel.c
2024-04-09 23:21:41 -05:00
Antonio SJ Musumeci
78d754df6b
fuse_lowlevel.c
2024-04-09 23:21:20 -05:00
Antonio SJ Musumeci
2b8de4a9a6
fuse_lowlevel.c
2024-04-09 23:20:21 -05:00
Antonio SJ Musumeci
655742c915
fuse_lowlevel.c
2024-04-09 23:20:12 -05:00
Antonio SJ Musumeci
f7f3328142
fuse_lowlevel.c
2024-04-09 23:20:01 -05:00
Antonio SJ Musumeci
a52e198790
fuse.c
2024-04-09 23:17:24 -05:00
Antonio SJ Musumeci
dca180f39a
fuse_lowlevel.c
2024-04-09 22:02:42 -05:00
Antonio SJ Musumeci
5950ac6cdd
fuse_lowlevel.c
2024-04-09 22:02:38 -05:00
Antonio SJ Musumeci
5004db9d61
fuse_lowlevel.c
2024-04-09 21:08:37 -05:00
Antonio SJ Musumeci
bf3ff771ad
fuse_lowlevel.c
2024-04-09 20:18:30 -05:00
Antonio SJ Musumeci
07e7d76b7c
Add support for file io passthrough
...
If using Linux 6.9 or above and enabled (passthrough=true) files
opened or created will use the FUSE passthrough feature.
If direct-io=true / cache.files=off it will override passthrough. If
direct-io-allow-mmap is enabled only mmap will passthrough.
HANDLE_KILLPRIV and V2 are enabled now by default to remove the
kernel's need to issue getattr and getxattr requests.
moveonenospc will not work when leveraging passthrough.
2024-04-09 20:11:00 -05: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
Antonio SJ Musumeci
d11807ef7c
Remove use_ino option and make behavior same as if set
2023-01-16 16:21:44 -05:00
Antonio SJ Musumeci
24423b8d2a
Add async message processing
2023-01-16 13:15:53 -05:00