summaryrefslogtreecommitdiff
path: root/tests/md.ktest
blob: b9a936e769e9b4a0c04e7e3951c3d8de920dd310 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash

. $(dirname $(readlink -e ${BASH_SOURCE[0]}))/test-libs.sh

require-kernel-config MD
require-kernel-config BLK_DEV_MD
require-kernel-config MD_LINEAR
require-kernel-config MD_RAID0
require-kernel-config MD_RAID1
require-kernel-config MD_RAID10
require-kernel-config MD_RAID456
require-kernel-config MD_MULTIPATH

config-scratch-devs 4G
config-scratch-devs 4G
config-scratch-devs 4G
config-scratch-devs 4G

config-timeout $(stress_timeout)

run_fio()
{
    filename=$1
    shift
    fio --eta=always				\
	--randrepeat=0				\
	--ioengine=libaio			\
	--iodepth=64				\
	--iodepth_batch=16			\
	--direct=1				\
	--numjobs=1				\
	--verify=meta				\
	--verify_fatal=1			\
	--filename=$filename			\
	--name=randrw				\
	--rw=randrw				\
	--bsrange=4k-1M				\
	--size=1G				\
	"$@"
}

run_mdtest()
{
    wipefs -a /dev/sd[bcde]
    mdadm --create --force -n4 -l$1 /dev/md0 /dev/sd[bcde]

    run_fio /dev/md0

    mdadm --stop /dev/md0
}


test_raid0()
{
    run_mdtest 0
}

test_raid10()
{
    run_mdtest 10
}

test_raid5()
{
    run_mdtest 5
}

main "$@"