Linux Kernel 2.6.30 Released
diegocgteleline.es writes "Linux kernel 2.6.30 has been released. The list of new features includes NILFS2 (a new, log-structured filesystem), a filesystem for object-based storage devices called exofs, local caching for NFS, the RDS protocol (which delivers high-performance reliable connections between the servers of a cluster), a new distributed networking filesystem (POHMELFS), automatic flushing of files on renames/truncates in ext3, ext4 and btrfs, preliminary support for the 802.11w drafts, support for the Microblaze architecture, the Tomoyo security MAC, DRM support for the Radeon R6xx/R7xx graphic cards, asynchronous scanning of devices and partitions for faster bootup, the preadv/pwritev syscalls, several new drivers and many other small improvements."
If you want a mainframe, maybe calling IBM and ordering one is a better way to go?
Can anyone explain to me why Linux has so many filesystems?
Because one filesystem isn't optimal for all cases? Because people want to experiment with new things? Why does it matter?
Windows has had NTFS for years (admittedly, several versions, but never any compatibility issues that I've come across), and Linux has, what, 73 or something?! Is it really that hard to get it right?
And Windows has had FAT12, FAT16, FAT32, NTFS, exFAT, VFAT, FFS2, DFS, EFS. Was it really that hard to get it right?
The bad one (not in Linux thankfully) is Dumb Restrictions on Media.
Also stands for Dinasaurs Require Money.
Free Martian Whores!
Because one filesystem isn't optimal for all cases?
The thing is, Linux strives so hard for the "optimum" that, while doing so, they end up in mediocrity. That's because its programmers are so concerned with micro-optimizations and top speed that they lack the ability to design properly and make good abstractions.
Would it really be that hard to have ONE good fs that you could tune to different use cases? Probably not. But the average Linux coder sees that something isn't fast in case X and goes ahead redoing the entire wheel. And why? Because the thing he just looked at wasn't designed very well either and can't be adapted easily to different use scenarios. And why? Because it was done by a half-assed coder like himself. And so the circle closes.
Linux needs more people that can properly design software and make good abstractions - instead of narrow-minded code monkeys that can't see beyond their own crap that they are willing to completely rewrite in two revisions anyway because they lost the big picture.
Did you miss the abstraction layer linux already has for file systems -- VFS? The layer that lets all file-related system calls like be unified among all file systems, so that a file system is only responsible for actually talking to the disk? The same sort of system used by BSD and Windows? Doesn't that essentially make new file systems as minimal as possible while still allowing "tuning"?