> Zero length files were a possibility in ext3 for the truncate & overwrite scenario already. They were probably rarer, but certainly possible.
Thanks for pointing this out. Essentially, relying on this behaviour was an accident, waiting to bite. Unfortunately, due to broken semantics of fsync on ext3, having a correct application would break the performance of the system. Looks to me that ext3 is far more broken than ext4 (which doesn't seem broken at all to me).