linux-mips
[Top] [All Lists]

RE: DbAu1550 copy file corruption

To: <linux-mips@linux-mips.org>
Subject: RE: DbAu1550 copy file corruption
From: "David Sanchez" <david.sanchez@lexbox.fr>
Date: Wed, 30 Nov 2005 14:27:43 +0100
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Thread-index: AcX1lsl8tmWJBo5gSmGMP3cNVuA5+wAGv+AA
Thread-topic: DbAu1550 copy file corruption
Hi,

I forgot to mention that I'm making my test on a ext2 filesystem...

More can somebody launch the test on another Alchemy board ? Dbau1500, 
Dbau1200, etc...

Thanks

David

-----Message d'origine-----
De : David Sanchez 
Envoyé : mercredi 30 novembre 2005 11:14
À : 'linux-mips@linux-mips.org'
Objet : DbAu1550 copy file corruption

Hi,

I still have a problem of file corruption after a big copy (around 300M) and no 
solution at this time...

Who have a dbau1550 and who could try the following script to check copies on 
big files?


####################################
#!/bin/sh

path_file=$1
if test -z $path_file ; then
        path_file=`pwd`
fi

# You can modify the source and the destination filename, the source file 
# size and the number of iterations.

# Source and destination filename
src_file=${path_file}/src_test_file
dst_file=${path_file}/dst_test_file
# Source file size: 300M
src_file_size=300000
# Number of iterations
let max_it=50

# Create source file
if test ! -f ${src_file} ; then
        echo "* Generating ${src_file}..."
        dd bs=1024 count=${src_file_size} if=/dev/urandom of=${src_file}
        echo ""
fi

# Check if source exists
if test -f ${src_file} ; then
        echo "* Check copy from $src_file to $dst_file:"
        echo ""
else
        echo "$src_file does NOT exist" ; exec false
fi

# Clear destination
if test -f ${dst_file} ; then
        rm ${dst_file}
fi

# Go
let i=0
let nb_err=0
while [ $i -lt $max_it ]
do
        cp ${src_file} ${dst_file}
        cmp ${src_file} ${dst_file}
        if [ $? -eq 0 ]
                then
                        echo ${src_file} ${dst_file} IDENTICAL
                else
                        let nb_err=nb_err+1
                fi
        rm ${dst_file}
        let i=i+1
done

# Result
echo ""
echo "Done"
echo -e "\t$nb_err error(s) over $max_it iteration(s)"
echo ""
####################################

On my DbAu155 + Sata HDD on PDC20579 + Linux Kernel 2.6.10 + busybox 1.0:
Each destination differs from the source:

####################################
* Generating ./src_test_file...
300000+0 records in
300000+0 records out

* Check copy from ./src_test_file to ./dst_test_file:

./src_test_file ./dst_test_file differ: char 10388254, line 40877
./src_test_file ./dst_test_file differ: char 69932960, line 274140
./src_test_file ./dst_test_file differ: char 36867840, line 144723
...

Done
        50 error(s) over 50 iteration(s)
####################################

Thanks'

David


<Prev in Thread] Current Thread [Next in Thread>