Comment 174 for bug 317781

Revision history for this message
Tom B. (tom-bg) wrote :

@Volodymyr

I finished recompiling the kernel with Theodore Ts'o patches, and reran Volodymyr's test cases with the patched kernel. The results are:

File System Method Performance (Typical, Minimum, Maximum) #Lost %Lost

ext4patch 1 0.44 0.41 0.50 1 1.00%
ext4patch 2 0.32 0.32 0.40 0 0.00%
ext4patch 3 0.20 0.18 0.20 0 0.00%
ext4patch 4 0.25 0.25 0.25 0 0.00%
ext4patch 5 0.26 0.26 0.33 0 0.00%
ext4patch 6 0.41 0.33 0.42 0 0.00%

Essentially, the patches work. Ext4, with the patch, has the same data loss as the ext3 file system.

Adding fsync() to the code results in a significant decrease in loop speed. As such, for the application writers, only add fsync() to your code when you want to be really sure the data has been written to disk, like when you are writing a database.