Rant: Linux is a Fickle Bitch
Saturday, April 29th, 2006So after reading up on recent JFS work, and the state of various vendor’s support, and looking at the toolset for it and for XFS, I decided to switch to XFS, as it seemed the better-supported solution…
Of course, here’s the problem with linux: you have to go with the options that are more constantly upgraded, like, say, XFS. This is because the things that aren’t updated, even if they’re ignored because they’re stable and they work, and you can rely on them, are liable to not be supported at all in some future release, because nobody decided to go in and update it when they changed some kernel interface that the community of developers decided “needed changing”. Linux isn’t about reliability, or correctness, or making sure it all works together. It’s ten thousand egotistical nerds trying to scratch their own personal itches, irrespective of the work of others. It’s the sort of thing that makes Theo De Raadt froth at the mouth: The Bazaar may be a great place to get stuff for a party, but it’s a shitty way to build a car.
Case in point: XFS’s ‘fsck’ utility does nothing. It is literally the same as /bin/true. It simply returns a proper success code, because (or so the logic goes), the journal will replay when the fs is mounted, and if that fails, then and only then will it run xfs_check and if that fails, it’ll run xfs_repair. So if you suspect deep corruption, and you touch /forcefsck, you’ve not done a damn thing, because xfs will happily replay the journal and you’ll never know. What you’ll have to do is boot from some other media, start your mirrors and logical volumes and what-not, then run xfs_check. This is madness. This is not a viable solution for any kind of enterprise-level product, and I’m aghast. But, hey, at least xfs gets updated!
Case in point #2: I rebuilt my Logical Volume to get myself some free space for snapshots. So I get it all set up and make a snapshot, mount it, look at it, and unmount it. Then I go to remove the snapshot volume. The box hangs. I figure I screwed up and reboot. Amusingly, XFS doesn’t mount by looking at the volume, it also checks the UUID and mounts the first volume it finds with that UUID. Which is, ha-ha, the snapshot volume. Welcome to funky town. So, here I go, rebooting the box, starting the mirror set, activating the volumes, and removing the snapshot. I try this a couple more times, to the exact same effect, before googling and realizing that kernel 2.6.16 requires lvm2 version 2.02.01 or greater, and device-mapper 1.02.02 or greater. Which, of course, since nobody on the Fedora Core team can be bothered to scratch itches like “making LVM snapshots work”, isn’t in the FC4 repository. Because all the michelangelos are designing cathedrals*–the bazaar is just a great place to get cheap rugs.
If you get to the part about the Linux Network “Net vs. Net-2 vs Net-2D” code, I’d like to point out that the “Ross” in question once stopped at my parents house to sell me a Sun E450, which I then promptly burned out by running it without plugging in the chassis fans. Good times, good times.
