2020-03-17 09:59:19 +00:00
|
|
|
gen_malloc_ocf_json () {
|
|
|
|
local size=300 # MB
|
|
|
|
local block_size=512
|
|
|
|
local config
|
2018-11-02 00:00:24 +00:00
|
|
|
|
2020-03-17 09:59:19 +00:00
|
|
|
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
|
2018-11-02 00:00:24 +00:00
|
|
|
|
2020-03-17 09:59:19 +00:00
|
|
|
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
|
|
|
|
}
|