Torvalds calls userspace filesystems "toys"
"People who think that userspace filesystems are realistic for anything but toys are just misguided." Those were Linus Torvalds' words when he took position in a discussion on userspace file systems. The Linux kernel's FUSE "works fine if the thing being exported is some random low-use interface to a fundamentally slow device. But for something like your root filesystem? Nope. Not going to happen", said Torvalds.
Userspace filesystems run outside the kernel and have the same privileges as other applications. They can be started, managed and stopped by users without root privileges and are used to implement, for example, uncommon filesystems, front-ends to distributed storage or filesystem views of things that aren't filesystems such as IMAP folders, FTP servers or tar archives.
The discussion about userspace filesystems started when Miklos Szeredi requested that the OverlayFS driver be added to the stable kernel development branch with version 3.1. When Andrew Morton asked why this wasn't implemented as a userspace file system with FUSE, Szeredi said that, in his opinion, implementations outside of the kernel space can never be as efficient as those within the kernel space.
Morton accepted this argument, replying that if it was certain that a userspace implementation can never reach acceptable performance levels, adding the driver to the kernel would be justified – at which point Torvalds entered the discussion and took position on the topic of userspace file systems.
Greg Kroah-Hartman objected immediately, presenting Tuxera's proprietary NTFS Fuse driver as counter-evidence – although another developer pointed out that Tuxera's NTFS kernel driver is still substantially faster. Two developers who work on the CloudFS and GlusterFS filesystems wrote in separate blog postings and accused Torvalds of having an obsolete opinion on filesystems: the kernel with its 4 KByte memory pages is simply not very suitable for managing large amounts of data, they said, adding that it would be better to consider the kernel as a micro kernel with device drivers and a hypervisor, and leave the handling of memory management to a filesystem located in userspace. This would not be a problem, they added, as whole virtualised operating systems run in userspace nowadays and "the tradeoff between new features and performance loss has proved to be irrelevant". However, both filesystem developers admitted that most FUSE filesystems really are only toys with one noting: "Remember, a lot of people once thought Linux and the machines it ran on were toys."