В ядре Linux 6.14 в подсистеме FUSE появилась поддержка обмена данными между ядром и обработчиком в пространстве пользователя с использованием механизма ввода/вывода io_uring. Включение io_uring в FUSE позволяет ощутимо поднять производительность файловых систем на базе FUSE за счёт сокращения переключений контекста между ядром и пространством пользователя.Поддержка io_uring уже может применяться в реализациях FUSE-серверов на базе библиотеки [[https://github.com/libfuse/libfuse libfuse]], таких как zfs-fuse, unionfs-fuse, fuse-overlayfs, ceph-fuse и gvfs-fuse. Для работы пока требуется сборка libfuse из ветки "uring" в [[https://github.com/bsbernd/libfuse.git git-репозитории]] проекта (в релизы изменения ещё не включены). В реализации FUSE-серверов изменения вносить не требуется - достаточно использовать ядро 6.14 и библиотеку libfuse с поддержкой io_uring.
Для включения io_uring в компонентах FUSE на стороне ядра Linux следует выставить параметр:
echo 1 > /sys/module/fuse/parameters/enable_uring
Параметр должен быть установлен до монтирования ФС, иначе для передачи данных вместо io_uring будет задействовано устройство /dev/fuse.
[[IMG /opennews/pics_base/CFD0C5CECEC5D4_1751174747.png]]
[[IMG /opennews/pics_base/CFD0C5CECEC5D4_1751174779.png]]
[[IMG /opennews/pics_base/CFD0C5CECEC5D4_1751174806.png]]
[[IMG /opennews/pics_base/CFD0C5CECEC5D4_1751174821.png]]URL: https://luis.camandro.org/2025-06-14-fuse-over-io_uring.html
Обсуждается: http://www.opennet.dev/tips/info/3270.shtml
А как насчёт kernel.io_uring_disabled = 2 (enabling this shrinks the kernel’s attack surface) ?
https://docs.kernel.org/admin-guide/sysctl/kernel.html#io-ur...
Какие последствия, если совсем отключить?
https://www.phoronix.com/news/Linux-6.6-sysctl-IO_uring