]>
Commit | Line | Data |
---|---|---|
0aa389dc NB |
1 | |
2 | # | |
ba624124 | 3 | # test interrupting and restarting raid5 reshape. |
0aa389dc NB |
4 | set -x |
5 | devs="$dev1" | |
6 | st=UU | |
7 | for disks in 2 3 4 5 | |
8 | do | |
9 | eval devs=\"$devs \$dev$disks\" | |
10 | st=U$st | |
11 | for d in $devs | |
12 | do dd if=/dev/urandom of=$d bs=1024 || true | |
13 | done | |
14 | ||
72044953 N |
15 | case $disks in |
16 | 2 | 3) chunk=1024;; | |
17 | 4 ) chunk=512;; | |
18 | 5 ) chunk=256;; | |
19 | esac | |
20 | ||
21 | mdadm -CR $md0 -amd -l5 -c $chunk -n$disks --assume-clean $devs | |
bfd8831d | 22 | mdadm $md0 --add $dev6 |
aa437afc | 23 | echo 20 > /proc/sys/dev/raid/speed_limit_min |
0aa389dc | 24 | echo 20 > /proc/sys/dev/raid/speed_limit_max |
bfd8831d | 25 | mdadm --grow $md0 -n $[disks+1] |
0aa389dc NB |
26 | check reshape |
27 | check state $st | |
bfd8831d NB |
28 | mdadm --stop $md0 |
29 | mdadm --assemble $md0 $devs $dev6 | |
0aa389dc | 30 | check reshape |
aa437afc | 31 | echo 1000 > /proc/sys/dev/raid/speed_limit_min |
0aa389dc NB |
32 | echo 2000 > /proc/sys/dev/raid/speed_limit_max |
33 | check wait | |
2c3e39eb | 34 | while ! echo check > /sys/block/md0/md/sync_action; do sleep 0.1; done |
0aa389dc NB |
35 | check wait |
36 | mm=`cat /sys/block/md0/md/mismatch_cnt` | |
37 | if [ $mm -gt 0 ] | |
38 | then echo >&2 "ERROR mismatch_cnt non-zero : $mm" ; exit 1 | |
39 | fi | |
bfd8831d | 40 | mdadm -S $md0 |
0aa389dc | 41 | done |