You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.5 KiB
100 lines
2.5 KiB
From 76b906d2406cdf136f64de77e881eb2d180108d9 Mon Sep 17 00:00:00 2001 |
|
From: Gioh Kim <gi-oh.kim@cloud.ionos.com> |
|
Date: Fri, 7 Dec 2018 14:30:09 +0100 |
|
Subject: [RHEL7.7 PATCH 17/21] mdadm/tests: add one test case for failfast of |
|
raid1 |
|
|
|
This creates raid1 device with the failfast option and check all |
|
slaves have the failfast flag. And it does assembling and growing |
|
the raid1 device and check the failfast works fine. |
|
|
|
Signed-off-by: Gioh Kim <gi-oh.kim@cloud.ionos.com> |
|
Signed-off-by: Jes Sorensen <jsorensen@fb.com> |
|
--- |
|
tests/05r1-failfast | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
1 file changed, 74 insertions(+) |
|
create mode 100644 tests/05r1-failfast |
|
|
|
diff --git a/tests/05r1-failfast b/tests/05r1-failfast |
|
new file mode 100644 |
|
index 0000000..823dd6f |
|
--- /dev/null |
|
+++ b/tests/05r1-failfast |
|
@@ -0,0 +1,74 @@ |
|
+ |
|
+# create a simple mirror and check failfast flag works |
|
+mdadm -CR $md0 -e1.2 --level=raid1 --failfast -n2 $dev0 $dev1 |
|
+check raid1 |
|
+if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null |
|
+then |
|
+ die "failfast missing" |
|
+fi |
|
+ |
|
+# Removing works with the failfast flag |
|
+mdadm $md0 -f $dev0 |
|
+mdadm $md0 -r $dev0 |
|
+if grep -v failfast /sys/block/md0/md/rd1/state > /dev/null |
|
+then |
|
+ die "failfast missing" |
|
+fi |
|
+ |
|
+# Adding works with the failfast flag |
|
+mdadm $md0 -a --failfast $dev0 |
|
+check wait |
|
+if grep -v failfast /sys/block/md0/md/rd0/state > /dev/null |
|
+then |
|
+ die "failfast missing" |
|
+fi |
|
+ |
|
+mdadm -S $md0 |
|
+ |
|
+# Assembling works with the failfast flag |
|
+mdadm -A $md0 $dev0 $dev1 |
|
+check raid1 |
|
+if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null |
|
+then |
|
+ die "failfast missing" |
|
+fi |
|
+ |
|
+# Adding works with the nofailfast flag |
|
+mdadm $md0 -f $dev0 |
|
+mdadm $md0 -r $dev0 |
|
+mdadm $md0 -a --nofailfast $dev0 |
|
+check wait |
|
+if grep failfast /sys/block/md0/md/rd0/state > /dev/null |
|
+then |
|
+ die "failfast should be missing" |
|
+fi |
|
+ |
|
+# Assembling with one faulty slave works with the failfast flag |
|
+mdadm $md0 -f $dev0 |
|
+mdadm $md0 -r $dev0 |
|
+mdadm -S $md0 |
|
+mdadm -A $md0 $dev0 $dev1 |
|
+check raid1 |
|
+mdadm -S $md0 |
|
+ |
|
+# Spare works with the failfast flag |
|
+mdadm -CR $md0 -e1.2 --level=raid1 --failfast -n2 $dev0 $dev1 |
|
+check raid1 |
|
+mdadm $md0 -a --failfast $dev2 |
|
+check wait |
|
+check spares 1 |
|
+if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null |
|
+then |
|
+ die "failfast missing" |
|
+fi |
|
+ |
|
+# Grow works with the failfast flag |
|
+mdadm -G $md0 --raid-devices=3 |
|
+check wait |
|
+if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null |
|
+then |
|
+ die "failfast missing" |
|
+fi |
|
+mdadm -S $md0 |
|
+ |
|
+exit 0 |
|
-- |
|
2.7.5 |
|
|
|
|