Blame SOURCES/0017-mdadm-tests-add-one-test-case-for-failfast-of-raid1.patch

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