Ludovic Courtès summed it up quite well. In that case, I don't see why anyone would criticize FUSE for its kludged design; they only did what they had to do to get user- space filesystems in Linux. If the kludge in kernel space works, and doesn't create problems for kernel developers, FUSE filesystem developers, or the end-users, then it has to be better than not having FUSE at all.
Alas, it does create problems for Linux developers. For one, FUSE is _part_of_Linux_. It is not seperate from it, and this means that any changes in the way the file-system is handled, one will have to update it in the FUSE part, in conjuction to the rest of all the file-system drivers in Linux. The internal API for Linux is not stable, never will be, and is one of the worst headaches for any developer ever concived (note, I'm not saying that breaking API is a bad thing, but Linux does it to often, and without any thought of why, it is `oh this looks cool, lets rewrite everything' mantra) Secondly, FUSE does not allow for user-space file-systems in all cases, you cannot have your root file-system running in user-space, nor can you have ext2fs in user-space, or any other blockish file-system. This is due to FUSE, which is a hack to make it possible to implement some, but totally triffling file-systems in user-space and not any of the file-systems you actually _want_ to have in user-space to ease debugging. You cannot for example run two versions of ext2fs, one that is known to work, and one that is known to eat your file-system at the same time in Linux with, or _without_ FUSE. Thirdly, you need to trust that your system aministrator allows you to use whatever file-system you envision. This is due to how mount() works (which doesn't even exist on GNU), which is a priviledged system call. Which brings us back to what Ludovic, you need to trust the FUSE file-system since it runs actually kernel space, and not really in user-space, it adds a bunch of interfaces to make this happen. But if it gives to much flexibility, you will be able to compromise the whole system, if you give to little, you won't be able to make anything interesting. In the end, this is a design flaw in how Linux works, and not just in FUSE. FUSE just makes it easier to show how badly Linux is designed from a usabilty point of view. _______________________________________________ Gnu-arch-users mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/
