Commit Graph
117 Commits
Author SHA1 Message Date
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 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 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
trapexitandGitHub 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 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
Antonio SJ Musumeci 094ad862e7 Fix regression testing for implemented functions 2022-12-11 14:44:19 -05:00
Antonio SJ Musumeci a6ca96fa08 Fix printf for 32bit systems 2022-12-08 22:04:15 -05:00
Antonio SJ Musumeci d14427ad9e Fix reading of setxattr name 2022-12-08 18:40:08 -05:00
Antonio SJ Musumeci ddf5e53aa4 Misc cleanup 2022-11-27 22:23:38 -06:00