summaryrefslogtreecommitdiffstats
path: root/src/spdk/test/ocf/integrity/mallocs.conf
blob: 245dd23cf7f130aeed0f688131777f0b9c0456da (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
gen_malloc_ocf_json () {
	local size=300 # MB
	local block_size=512
	local config

	local malloc malloc_devs=3
	for (( malloc = 0; malloc < malloc_devs; malloc++ )); do
		config+=(
			"$(
				cat <<-JSON
					{
					  "method": "bdev_malloc_create",
					  "params": {
					    "name": "Malloc$malloc",
					    "num_blocks": $(( (size << 20) / block_size )),
					    "block_size": 512
					  }
					}
				JSON
			)"
		)
	done

	local ocfs ocf ocf_mode ocf_cache ocf_core
	ocfs=(1 2)
	ocf_mode[1]=wt ocf_cache[1]=Malloc0 ocf_core[1]=Malloc1
	ocf_mode[2]=pt ocf_cache[2]=Malloc0 ocf_core[2]=Malloc2

	for ocf in "${ocfs[@]}"; do
		config+=(
			"$(
				cat <<-JSON
					{
					  "method": "bdev_ocf_create",
					  "params": {
					    "name": "MalCache$ocf",
					    "mode": "${ocf_mode[ocf]}",
					    "cache_bdev_name": "${ocf_cache[ocf]}",
					    "core_bdev_name": "${ocf_core[ocf]}"
					  }
					}
				JSON
			)"
		)
	done

	jq . <<-JSON
		{
		  "subsystems": [
		    {
		      "subsystem": "bdev",
		      "config": [
		        $(IFS=","; printf '%s\n' "${config[*]}")
		      ]
		    }
		  ]
		}
	JSON
}