On Tue, Feb 25, 2025 at 10:57 AM Dale <rdalek1...@gmail.com> wrote: > > Still, is FUSE the best way to handle this or should it be done the same way > as EXT4? I don't recall enabling FUSE so I figure it is enabled by default > or something.
ext4 is a filesystem. FUSE is a kernel API that can be used to implement any filesystem. I'm pretty sure there is a kernel setting to enable FUSE, and it is pretty typical for it to be enabled. Lots of stuff uses it. In many operating systems (with a microkernel architecture) the equivalent of FUSE is the only way filesystems are implemented. Usually people prefer to use built-in kernel drivers if they are available. There isn't really anything wrong with FUSE, but in many cases the in-kernel drivers are just better maintained. It isn't unusual to see less conventional "filesystems" implemented as FUSE first, since this is more maintainable if you never intend to get your work integrated into the kernel. FUSE uses the stable system call interface, while an actual kernel module has no stable interface and is therefore more painful to maintain outside of the mainline kernel. For example, see sshfs, gzipfs, restic, etc. I know a guy who created a novelty "filesystem" that just creates files dynamically using the filename as GPT prompts. Stuff like that would never be accepted into the mainline kernel, but they can be implemented reliably using FUSE. -- Rich