Most recent kernel where this bug did *NOT* occur: none Distribution: Gentoo 2006.1 (built from stage1) Hardware Environment: Athlon-XP 2500+ Asus A7N8X (nForce2) 2x512M DDR400 (2xSeagate ST3160827AS 2xSeagate ST3320620AS connected to add-on SiI3114) (ST340014A connected to nForce2 IDE controller) Software Environment: glibc-2.5 openssl-0.9.8d coreutils-6.4 mc-4.6.1 gcc-4.1.1 (no nvidia or other binary modules) Problem Description: Contents of large (>400mb) files changes when copying from HDD connected to one channel of SiI3114 to HDD connected to any of its other channels. Problem does *NOT* occur when copying such files from one partition to other within the same channel (HDD) and when copying such files from HDD connected to SiI3114 to HDD connected to other controller (onboard IDE or SATA). Tested with XFS and ext3 filesystems, using programs cp/dd/mc, using two different SiI3114 add-on controllers with different BIOSes, in different PCI slots. In tests from 500 to 3000 bytes were changed when copying 1Gb file. Steps to reproduce: mount /dev/sda1 /mnt/hdd1 mount /dev/sda2 /mnt/hdd2 mount /dev/sdb1 /mnt/hdd3 dd if=/dev/zero of=/mnt/hdd1/zero.test bs=1024 count=1048756 openssl sha1 /mnt/hdd1/zero.test : SHA1(/mnt/hdd1/zero.test)= cb75bfcc214914b81005cdfadfe3e036d800f74e cp --sparse=never /mnt/hdd1/zero.test /mnt/hdd2 openssl sha1 /mnt/hdd2/zero.test : SHA1(/mnt/hdd2/zero.test)= cb75bfcc214914b81005cdfadfe3e036d800f74e cp --sparse=never /mnt/hdd1/zero.test /mnt/hdd3 openssl sha1 /mnt/hdd2/zero.test : SHA1(/mnt/hdd3/zero.test)= [real_sha1_hash_of_changed_file] cp --sparse=never /mnt/hdd1/zero.test /mnt/hdd3 openssl sha1 /mnt/hdd2/zero.test : SHA1(/mnt/hdd3/zero.test)= [another_real_sha1_hash_of_changed_file] cmp -l /mnt/hdd1/zero.test /mnt/hdd3/zero.test >~/hdd1-hdd3.diff cmp -l /mnt/hdd2/zero.test /mnt/hdd3/zero.test >~/hdd2-hdd3.diff ~/hdd1-hdd3.diff and ~/hdd2-hdd3.diff are identical files with found differences.
The problem is disapearing when turning off software read-ahead (hdparm -a0 / dev/sdc). Unfortunately it brings 7x performance loss.
*** This bug has been marked as a duplicate of 6845 ***