FUSE Read/Write Passthrough Updated For Much Better File-System Performance
Of various criticisms around FUSE for implementing file-systems in user-space, one of the most prolific issues is around the performance generally being much lower than a proper file-system kernel driver. But with the FUSE passthrough functionality that continue to be worked on, there is the potential for much better FUSE file-system performance.
The ongoing FUSE passthrough work is about allowing the passthrough read/write of files in avoiding at times unnecessary overhead of the user-space FUSE daemon. When operating in FUSE_PASSTHROUGH mode, the daemon can allow on a per-file basis opening in passthrough mode where all read and write operations are forwarded by the kernel directly to the lower file-system rather than to the FUSE daemon running in user-space.
When performing "massive manipulations on a single opened file", the FUSE passthrough mode can show "close to native" file-system performance, especially in random read performance where the bandwidth can almost double while the sequential write performance can nearly triple.
The latest patch for FUSE passthrough has been re-based against Linux 5.8 and has various code improvements and refactoring. While the performance gains are quite compelling, this isn't on-deck for the Linux 5.9 kernel cycle. But at least with this passthrough code continuing to mature, it will hopefully be mainlined in the not too distant future.
The ongoing FUSE passthrough work is about allowing the passthrough read/write of files in avoiding at times unnecessary overhead of the user-space FUSE daemon. When operating in FUSE_PASSTHROUGH mode, the daemon can allow on a per-file basis opening in passthrough mode where all read and write operations are forwarded by the kernel directly to the lower file-system rather than to the FUSE daemon running in user-space.
When performing "massive manipulations on a single opened file", the FUSE passthrough mode can show "close to native" file-system performance, especially in random read performance where the bandwidth can almost double while the sequential write performance can nearly triple.
The latest patch for FUSE passthrough has been re-based against Linux 5.8 and has various code improvements and refactoring. While the performance gains are quite compelling, this isn't on-deck for the Linux 5.9 kernel cycle. But at least with this passthrough code continuing to mature, it will hopefully be mainlined in the not too distant future.
13 Comments