numam-spdk/scripts/gen_nvme.sh

54 lines
792 B
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
set -e
rootdir=$(readlink -f $(dirname $0))/..
source "$rootdir/scripts/common.sh"
function create_json_config() {
local bdev_json_cfg=()
for i in "${!bdfs[@]}"; do
bdev_json_cfg+=("$(
cat <<- JSON
{
"method": "bdev_nvme_attach_controller",
"params": {
"trtype": "PCIe",
"name":"Nvme${i}",
"traddr":"${bdfs[i]}"
}
}
JSON
)")
done
local IFS=","
cat <<- JSON
{
"subsystem": "bdev",
"config": [
${bdev_json_cfg[*]}
]
}
JSON
}
function create_json_config_with_subsystems() {
cat <<- JSON
{
"subsystems": [
$(create_json_config)
]
}
JSON
}
bdfs=($(nvme_in_userspace))
if [[ "$1" = "--json-with-subsystems" ]]; then
create_json_config_with_subsystems
else
create_json_config
fi