]> git.ipfire.org Git - thirdparty/mdadm.git/blob - tests/05r1-failfast
Monitor: improve check_one_sharer() for checking duplicated process
[thirdparty/mdadm.git] / tests / 05r1-failfast
1
2 # create a simple mirror and check failfast flag works
3 mdadm -CR $md0 -e1.2 --level=raid1 --failfast -n2 $dev0 $dev1
4 check raid1
5 if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
6 then
7 die "failfast missing"
8 fi
9
10 # Removing works with the failfast flag
11 mdadm $md0 -f $dev0
12 mdadm $md0 -r $dev0
13 if grep -v failfast /sys/block/md0/md/rd1/state > /dev/null
14 then
15 die "failfast missing"
16 fi
17
18 # Adding works with the failfast flag
19 mdadm $md0 -a --failfast $dev0
20 check wait
21 if grep -v failfast /sys/block/md0/md/rd0/state > /dev/null
22 then
23 die "failfast missing"
24 fi
25
26 mdadm -S $md0
27
28 # Assembling works with the failfast flag
29 mdadm -A $md0 $dev0 $dev1
30 check raid1
31 if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
32 then
33 die "failfast missing"
34 fi
35
36 # Adding works with the nofailfast flag
37 mdadm $md0 -f $dev0
38 mdadm $md0 -r $dev0
39 mdadm $md0 -a --nofailfast $dev0
40 check wait
41 if grep failfast /sys/block/md0/md/rd0/state > /dev/null
42 then
43 die "failfast should be missing"
44 fi
45
46 # Assembling with one faulty slave works with the failfast flag
47 mdadm $md0 -f $dev0
48 mdadm $md0 -r $dev0
49 mdadm -S $md0
50 mdadm -A $md0 $dev0 $dev1
51 check raid1
52 mdadm -S $md0
53
54 # Spare works with the failfast flag
55 mdadm -CR $md0 -e1.2 --level=raid1 --failfast -n2 $dev0 $dev1
56 check raid1
57 mdadm $md0 -a --failfast $dev2
58 check wait
59 check spares 1
60 if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
61 then
62 die "failfast missing"
63 fi
64
65 # Grow works with the failfast flag
66 mdadm -G $md0 --raid-devices=3
67 check wait
68 if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
69 then
70 die "failfast missing"
71 fi
72 mdadm -S $md0
73
74 exit 0