Files corrupt on copy

Andy Campbell fedora at starsend.force9.co.uk
Sat Jun 27 12:21:22 UTC 2009


I'm having an issue where when I copy files, they are not copying
correctly - they are corrupt, I've checked using cmp, and generating
md5sum There are no errors I can see from cp, rsync.

Initially I though it was a problem with an external USB drives now
after some testing it seem to be normal SATA drives as well.  I've got
a few drives in the box and they all have the same issue.

I  thought it might be memory - but memtest runs fine, and I
tried taking out a couple of the sticks - I have 4x2Gb no difference.

I've written a little rsync script to copy some files around, rsync
once, then rsync again, using checksum - in theory the second run
should have nothing to do, but will randomly have to re-copy files.

Strangely I tried booting off of a live distro ( System Rescue 32bit )
and didn't get any errors.

The system seem to run fine generally - but I started noticing some of
the big files I was syncing to external drives where erroring.  Just 
repeatedly running md5sum on a file gives consistent results - I would 
have though if was a memory problem that would have give different results.

I've turned AHCI on in BIOS recently as I've install a WD Raptor,
and re-installed F10 - would that affect filesystems on other
drives - is AHCI buggy ?

I'm using Fedora 10 64bit,  Asus P5Q-E Motherboard,
Q9950 ( stock speed ), 8Gb Corsair memory

Any guesses, Kernel bug ? Hardware ? Hopefully not hardware as its
a fairly recent build.


My Test some runs are better some are worse ....

(1) [trantor] ..scratch/tmp $cat do_test.bash
#/bin/bash

echo === Copying test files to /tmp

mkdir -p src tgt

for i in 1 2 3 4 5 6 7 8 9
do
  echo "================================== test $i"

  rm -f tgt/*zip

  echo Initial Copy from src to tgt

  rsync -a src/*zip tgt/
  echo
  echo Second Copy with checksum - should be no files to copy
  echo
  rsync -a -v --checksum src/*zip tgt/

done


[trantor] ..scratch/tmp $./do_test.bash
=== Copying test files to /tmp
================================== test 1
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file6.zip

sent 278691256 bytes  received 31 bytes  8319142.90 bytes/sec
total size is 1422447131  speedup is 5.10
================================== test 2
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file1.zip
file3.zip
file6.zip
file7.zip
file8.zip

sent 1121629814 bytes  received 107 bytes  21364379.45 bytes/sec
total size is 1422447131  speedup is 1.27
================================== test 3
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file3.zip
file4.zip
file5.zip
file7.zip

sent 803961910 bytes  received 88 bytes  16925515.75 bytes/sec
total size is 1422447131  speedup is 1.77
================================== test 4
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file1.zip
file3.zip
file7.zip

sent 726571560 bytes  received 69 bytes  15625196.32 bytes/sec
total size is 1422447131  speedup is 1.96
================================== test 5
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file1.zip
file4.zip
file7.zip

sent 642641285 bytes  received 69 bytes  11791584.48 bytes/sec
total size is 1422447131  speedup is 2.21
================================== test 6
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file1.zip
file2.zip
file3.zip
file4.zip
file6.zip
file8.zip

sent 916463546 bytes  received 126 bytes  17795411.11 bytes/sec
total size is 1422447131  speedup is 1.55
================================== test 7
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file3.zip
file5.zip
file6.zip
file7.zip

sent 975716123 bytes  received 88 bytes  18585070.69 bytes/sec
total size is 1422447131  speedup is 1.46
================================== test 8
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list
file3.zip
file4.zip
file6.zip

sent 576495041 bytes  received 69 bytes  13891448.43 bytes/sec
total size is 1422447131  speedup is 2.47
================================== test 9
Initial Copy from src to tgt

Second Copy with checksum - should be no files to copy

sending incremental file list

sent 288 bytes  received 12 bytes  10.17 bytes/sec
total size is 1422447131  speedup is 4741490.44



Thanks
Andy




More information about the fedora-list mailing list