On Tue 11-08-09 06:49:20, Al Boldi wrote: > Theodore Ts'o wrote: > > + "data=ordered" mode can also result in major performance > > + problems, including seconds-long delays before an fsync() > > + call returns. For details, see: > > + > > + http://ext4.wiki.kernel.org/index.php/Ext3_data_mode_tradeoffs > > Why isn't the fsync problem fixable? Because it's quite deep in the design of JBD: All the modifications done to a filesystem go to one transactions. When the transaction grows big enough or old enough, we commit the transaction, which means we write all the metadata to the journal and all the ordered data to their final location on disk. If you do fsync(), you have to wait for a transaction commit with your data to finish, so that you are guaranteed a consistent state of metadata is on disk. But when there is heavy background writing, it means there's a lot of data you have to write out and wait for... It's not easy to work around this - naively, you might want to separate out just the writes you care about for fsync() but that's not easily possible because bitmaps and group descriptors are modified by other writes as well. Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html