Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The problem with data=ordered is that it imposes a global order, allowing one I/O stream to stall others. Imagine if waiting for data to be acknowleged on one TCP socket meant waiting for all data sent earlier on all sockets - even those to slower peers - to be acknowledged as well. That's completely FUBAR, but it's basically what fsync with data=ordered does to an entire filesystem. There are hundreds of performance reports showing this effect, and nobody cares if one user's I/O patterns are too lame for them to have noticed.

The problem is that, in ext3, not using data=ordered is also problematic - this time in terms of potential corruption and security issues. That's why even the people who brought you ext3 abandoned it years ago in favor of making ext4 do these things the right way. If you want reasonable fsync behavior, plus niceties like block-size awareness and trim/discard support, you need to use a modern filesystem.

A piece of software that embodies a broken approach to a solved problem is by definition obsolete, and that includes ext3. Please don't make claims about what's obsolete when you don't even understand the issues that would make it so.



Calling it obsolete is hyperbole. A standard definition of obsolete is something that was once common but no longer is. Just last week I had to revert a number of ext4 filesystems back to ext3 due to performance problems on RHEL5, so I'm afraid that ext3 will be in common use for years to come.

(The performance problems aren't present in Fedora 16, so you could argue that RHEL5 is obsolete.)


Yes, the RHEL5 kernel is obsolete in that it lacks the barrier support necessary to implement proper behavior with decent performance. The fact that obsolete ext3 runs better on also-obsolete 2.6.18 kernels doesn't really tell us much except that sometimes two pieces of software evolve together, and sometimes versions that were developed together work better than versions that were not.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: