xref: /spdk/test/ocf/integrity/mallocs.conf (revision 1c9125e78e9eb66cc45cb9890209065f16fb1760)
1gen_malloc_ocf_json () {
2	local size=300 # MB
3	local block_size=512
4	local config
5
6	local malloc malloc_devs=3
7	for (( malloc = 0; malloc < malloc_devs; malloc++ )); do
8		config+=(
9			"$(
10				cat <<-JSON
11					{
12					  "method": "bdev_malloc_create",
13					  "params": {
14					    "name": "Malloc$malloc",
15					    "num_blocks": $(( (size << 20) / block_size )),
16					    "block_size": 512
17					  }
18					}
19				JSON
20			)"
21		)
22	done
23
24	local ocfs ocf ocf_mode ocf_cache ocf_core
25	ocfs=(1 2)
26	ocf_mode[1]=wt ocf_cache[1]=Malloc0 ocf_core[1]=Malloc1
27	ocf_mode[2]=pt ocf_cache[2]=Malloc0 ocf_core[2]=Malloc2
28
29	for ocf in "${ocfs[@]}"; do
30		config+=(
31			"$(
32				cat <<-JSON
33					{
34					  "method": "bdev_ocf_create",
35					  "params": {
36					    "name": "MalCache$ocf",
37					    "mode": "${ocf_mode[ocf]}",
38					    "cache_bdev_name": "${ocf_cache[ocf]}",
39					    "core_bdev_name": "${ocf_core[ocf]}"
40					  }
41					}
42				JSON
43			)"
44		)
45	done
46
47	jq . <<-JSON
48		{
49		  "subsystems": [
50		    {
51		      "subsystem": "bdev",
52		      "config": [
53		        $(IFS=","; printf '%s\n' "${config[*]}"),
54		        {
55		          "method": "bdev_wait_for_examine"
56		        }
57		      ]
58		    }
59		  ]
60		}
61	JSON
62}
63