2006-03-13 06:51:32 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# test the reshape code by using test_reshape and the
|
|
|
|
# kernel md code to move data into and out of variously
|
|
|
|
# shaped md arrays.
|
|
|
|
set -x
|
|
|
|
layouts=(la ra ls rs)
|
|
|
|
for chunk in 4 8 16 32 64 128
|
|
|
|
do
|
|
|
|
devs="$dev1"
|
|
|
|
for disks in 2 3 4 5 6
|
|
|
|
do
|
|
|
|
eval devs=\"$devs \$dev$disks\"
|
|
|
|
for nlayout in 0 1 2 3
|
|
|
|
do
|
|
|
|
layout=${layouts[$nlayout]}
|
|
|
|
|
|
|
|
size=$[chunk*(disks-1)*disks]
|
|
|
|
|
|
|
|
# test restore: make a raid5 from a file, then do a compare
|
|
|
|
dd if=/dev/urandom of=/tmp/RandFile bs=1024 count=$size
|
|
|
|
$dir/test_stripe restore /tmp/RandFile $disks $[chunk*1024] 5 $nlayout 0 $[size*1024] $devs
|
2008-06-27 08:11:40 +02:00
|
|
|
mdadm -CR $md0 -amd -l5 -n$disks --assume-clean -c $chunk -p $layout $devs
|
2006-03-13 06:51:32 +01:00
|
|
|
cmp -s -n $[size*1024] $md0 /tmp/RandFile || { echo cmp failed ; exit 2; }
|
|
|
|
|
|
|
|
# FIXME check parity
|
|
|
|
|
|
|
|
# test save
|
|
|
|
dd if=/dev/urandom of=$md0 bs=1024 count=$size
|
|
|
|
> /tmp/NewRand
|
|
|
|
$dir/test_stripe save /tmp/NewRand $disks $[chunk*1024] 5 $nlayout 0 $[size*1024] $devs
|
|
|
|
cmp -s -n $[size*1024] $md0 /tmp/NewRand || { echo cmp failed ; exit 2; }
|
2008-06-27 08:11:40 +02:00
|
|
|
mdadm -S $md0
|
2006-03-13 06:51:32 +01:00
|
|
|
done
|
|
|
|
done
|
|
|
|
done
|
|
|
|
exit 0
|
|
|
|
|