Several fuse based filesystems pass file data from an underlying filesystem without modification. The added value can come from changed directory structure, changed metadata or the ability to intercept I/O only in special cases. This pattern is very common, so optimizing it could be very worthwhile. I'd like to discuss proposed solutions to enabling data passthrough. There are several prototypes: - fuse2[1] (myself, very old) - fuse-passthrough[2] (Alessio Balsini, more recent) - fuse-bpf[3] (Daniel Rosenberg, new) The scope of fuse-bpf is much wider, but it does offer conditional passthrough behavior as well. One of the questions is how to reference underlying files. Passing open file descriptors directly in the fuse messages could be dangerous[4]. Setting up the mapping from an open file descriptor to the kernel using an ioctl() instead should be safe. Other open issues: - what shall be the lifetime of the mapping? - does the mapped open file need to be visible to userspace? Remember, this is a kernel module, so there's no process involved where you could look at /proc/PID/fd. Adding a kernel thread for each fuse instance that installs these mapped fds as actual file descriptor might be the solution. Thanks, Miklos [1] https://lore.kernel.org/all/CAJfpegtjEoE7H8tayLaQHG9fRSBiVuaspnmPr2oQiOZXVB1+7g@xxxxxxxxxxxxxx/ [2] https://lore.kernel.org/all/20210125153057.3623715-1-balsini@xxxxxxxxxxx/ [3] https://lore.kernel.org/all/20221122021536.1629178-1-drosen@xxxxxxxxxx/ [4] https://lore.kernel.org/all/CAG48ez17uXtjCTa7xpa=JWz3iBbNDQTKO2hvn6PAZtfW3kXgcA@xxxxxxxxxxxxxx/