File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ devname=${dev0##*/}
2
+ devt=`cat /sys/block/$devname/dev`
3
+ dmesg_marker="run mdadm test 23rdev-lifetime at `date`"
4
+ pid1=0
5
+ pid2=0
6
+
7
+ stop() {
8
+ if [[ $1 -ne 0 ]]; then
9
+ kill -9 $1
10
+ fi
11
+ }
12
+
13
+ trap 'stop $pid1; stop $pid2;' EXIT
14
+
15
+ echo "$dmesg_marker" >> /dev/kmsg
16
+
17
+ check_dmesg() {
18
+ dmesg | grep -A 9999 "$dmesg_marker" | grep "sysfs: cannot create duplicate filename"
19
+
20
+ if [[ $? -eq 0 ]]; then
21
+ die "sysfs dumplicate"
22
+ fi
23
+ }
24
+
25
+ add_by_sysfs() {
26
+ while true; do
27
+ echo $devt > /sys/block/md0/md/new_dev
28
+ check_dmesg
29
+ done
30
+ }
31
+
32
+ remove_by_sysfs(){
33
+ while true; do
34
+ echo remove > /sys/block/md0/md/dev-${devname}/state
35
+ check_dmesg
36
+ done
37
+ }
38
+
39
+ echo md0 > /sys/module/md_mod/parameters/new_array || die "create md0 failed"
40
+
41
+ add_by_sysfs &
42
+ pid1=$!
43
+
44
+ remove_by_sysfs &
45
+ pid2=$!
46
+
47
+ sleep 5
48
+ echo clear > /sys/block/md0/md/array_state
You can’t perform that action at this time.
0 commit comments