Linux creator Linus Torvalds previously referred to file-systems in user-space as for toys and misguided people. But FUSE has shown a lot of interesting use-cases over the years and has grown more capable in the decade since Torvalds’ prior comments. Out today is FUSE 3.18 as the latest release for the FUSE library.
FUSE 3.18 brings support for FUSE-over-IO_uring communication. The code was merged earlier this year and improved in further pull requests landing since then for making use of Linux’s modern IO_uring interface for more efficient I/O handling by File-Systems in User-Space. The IO_uring support with FUSE on Linux is optional to retain support still for older versions of the Linux kernel or environments where IO_uring is disabled.
Beyond this support for IO_uring communication, FUSE 3.18 adds Statx support for making use of that enhanced file information/metadata supported by the Linux kernel the past several years and since implemented by most in-tree kernel file-system drivers. Statx allows returning a file’s creation time, data version number, and other new attributes.
FUSE 3.18 also adds request timeouts to prevent hung operations and adds a new notification mechanism for epoch counters. There are also a variety of bug fixes, improved FreeBSD platform support, fixing 32-bit builds, and fixing compatibility between musl libc and older Linux kernel versions.
Downloads and more details on the FUSE 3.18 release via GitHUb.
