If you can run perl on your ARM host try this utility to see if fsync() 
actually works -- this is a real end-to-end test that you pull the plug on and 
it will let you know if your disk file is where it's supposed to be and how 
many errors you had.

http://brad.livejournal.com/2116715.html



Another more indirect way to test is this utility:

http://kerneltrap.org/mailarchive/linux-ext4/2009/3/22/5215824



Which...if your fsync doesn't work at all will return something really close to 
zero.



On my RedHat system I get this which indicates fsync actually takes a little of 
time...therefore it must be doing something....although it doesn't prove that 
it's actually on the disk yet.

fsync time: 0.0022
fsync time: 0.0019
fsync time: 0.0019
fsync time: 0.0022
fsync time: 0.0019
fsync time: 0.0019
fsync time: 0.0020
fsync time: 0.0020



And I do believe if you take the sleep() out of the loop that you should see 
constant times.  Otherwise you'll see a much bigger time once in a while when 
you overrun the buffers and it has to pause to really flush.

Again...on my system I see this...one value 3 times as large as the 
others...suspicious.

sort fsync.dat | tail -n 5
fsync time: 0.0025
fsync time: 0.0025
fsync time: 0.0026
fsync time: 0.0027
fsync time: 0.0059





Michael D. Black

Senior Scientist

Advanced Analytics Directorate

Advanced GEOINT Solutions Operating Unit

Northrop Grumman Information Systems
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to