I'm more than happy to have an initrd and a half second delay while it loads the XFS module to be free of Ext4. Ext4 is a dog. You can "feel" how much slower it is when doing something such as installing a DEB package.
It didn't start out that bad, but over time they have found things such as broken programs that expect Ext3 filesystem behavior, even when that behavior is wrong, and have had to emulate the behavior in Ext4 even when it means negating the performance advantages of things like delayed allocation and persistent preallocation. Ext4 has to do a fsync every 5 seconds which dramatically reduces the usefulness of many of the performance advantages that it had over Ext3.
XFS on the other hand, is getting faster at about the same rate Ext4 is slowing down.
Despite what FUDsters out there will tell you about XFS, I haven't lost any data to it. I'm not on any kind of fancy system and I don't have a UPS, and Duke Energy manages to knock out the power in this part of Indiana on a regular basis. (Not much more than a stiff breeze will suffice) (Note: My tax money pays for brand spanking new power plants in Iraq while the US state of Indiana to which I also pay taxes has something meant to run vacuum cleaners on in the 1970s.)
Frankly I think Ext4 sucks and I try to avoid it whenever I can. You can turn off some of the ridiculous hacks it employs, such as the one that makes it "safe" to use with bad programs that expect incorrect Ext3 fsync behavior. I'm not aware of myself using any such programs and frankly I wouldn't want to use a program for anything where I'd like to know for sure that my data is saved that isn't bothering to call fsync.
I would though, like to know how Ubuntu is planning to go after initrd removal. Does it keep one around if you don't want to use the horrible Ext4 file system, or will it be stupid and simply not boot? This problem could be avoided if they built the XFS module into the kernel image. I mean shit, they already have three modules for Ext2, two modules for Ext3, and a module for Ext4 all baked in right now even though you only need the Ext4 module to reliably handle all three. If they want to bitch about kernel bloat, they should do what Fedora 16 is doing and get rid of the ext2 and ext3 modules and allow ext4 to manage those file systems without changing their on disk format. (You even get optimizations that don't change the on disk format, like the much improved ext4 multi-block block allocator.)


Reply With Quote
