fuse-over-io-uring uses io-uring for transport of kernel/userspace messages. See also https://docs.kernel.org/filesystems/fuse-io-uring.html In order to enable it, the kernel module needs to have it enabled: echo 1 > /sys/module/fuse/parameters/enable_uring Additionally, FUSE_CAP_OVER_IO_URING needs to be set and se->uring.enable has to be true. The latter can be achieved with the libfuse option '-o io_uring'. Default queue-depth is 8 and can be changed with the parameter '-oio_uring_q_depth'. As of now there is always one queue per core. A reduced number of cores in development. Benefits: - Improved performance by using io_uring for kernel/userspace communication - Reduced system call overhead compared to traditional FUSE - Asynchronous I/O operations Usage: To enable io_uring support when mounting a FUSE filesystem: 1. Enable kernel support: echo 1 > /sys/module/fuse/parameters/enable_uring 2. Mount with io_uring option: -o io_uring 3. Optionally adjust queue depth: -o io_uring_q_depth= Example: ./my_fuse_fs /source /mountpoint -o io_uring -o io_uring_q_depth=16 Requirements: - Linux kernel with io_uring and FUSE io_uring support enabled - libfuse compiled with io_uring support Build Dependencies: - liburing (for io_uring support) - libnuma (required alongside liburing) - meson build system with option: -Denable-io-uring=true