I'm pretty certain I read that the original problems with data loss were due to application developers not writing to files properly. Something about depending on the kernel to automatically fsync instead of doing it themselves, but I could be waay off :P
Anyway, I think there's a chance that if most programmers out there had written their apps while catering for optimizing how their apps wrote to files, then we could have maintained the significant speeds of the original benchmarks.
But then, is there any real expectation that your average non-guru developer will want to think about things like that?
I am confused as to why the read rates suffered. I would assume that data safety is something that only matters in the writing of files.
also maybe it is worth comparing the no journalling mode. this was a google contribution to ext4.
Is it an artifact of an imperfect test? Is it real? If real, what caused it?
As for fsync(), it's all very well to say you have a wonderfully fast file system because you don't write data out to disk unless you have to, but if that then requires every application to call fsync() any time it writes to the disk in order to ensure that the data will actually be there after a reboot then all your performance gains have just been thrown away.
Worse than that, fsync() on ext3 with default configuration is slow and unneccesary in most distributions, so suddenly applications have to look at the file system of the computer they're working on in order to determine whether or not they should be calling fsync() all the time; that's mad.
Lastly, of course, the odds of getting more than a small fraction of application developers to implement fsyncs() properly throughout their code is minute (e.g. even if they're syncing the data files, will they also remember to sync the directory when that's required, and do so in the correct order to ensure that the file contains the correct data?), so why force changes to millions of lines of code when you can just do it once in the file system?
Interesting test results, makes me rethink of my thought to switch to ext4 on my Ubuntu 9.10 desktop from ext3.
However, what I would like to see is a side by side results for all ext2, ext3 and ext4. I guess many people would like to ask for other fs's as well to be added to this side by side test.