summaryrefslogtreecommitdiff
path: root/tests/19raid6check
blob: 67958c6aaa9f021e7e5ea2958148180d6bb22490 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#
# Confirm that raid6check handles all RAID6 layouts.
# Try both 4 and 5 devices.

layouts='ls rs la ra'
lv=`uname -r`
if expr $lv '>=' 2.6.30 > /dev/null
then
  layouts="$layouts parity-first ddf-zero-restart ddf-N-restart ddf-N-continue \
	left-asymmetric-6 right-asymmetric-6 left-symmetric-6 right-symmetric-6 parity-first-6"
fi

for layout in $layouts
do
 for devs in 4 5
 do
  dl="$dev0 $dev1 $dev2 $dev3"
  if [ $devs = 5 ]; then dl="$dl $dev4"; fi

  mdadm -CR $md0 -l6 --layout $layout -n$devs $dl
  check wait
  tar cf - /etc > $md0
  ./raid6check $md0 0 0 | grep 'Error detected' && exit 1
  mdadm -S $md0
 done
done