2017-01-25 23:36:40 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2018-01-02 21:44:48 +00:00
|
|
|
rootdir=$(readlink -f $(dirname $0))/..
|
|
|
|
source "$rootdir/scripts/common.sh"
|
|
|
|
|
2020-05-07 11:27:06 +00:00
|
|
|
function create_classic_config() {
|
2018-05-16 19:45:39 +00:00
|
|
|
echo "[Nvme]"
|
2020-05-07 11:27:06 +00:00
|
|
|
for ((i = 0; i < ${#bdfs[@]}; i++)); do
|
2018-05-16 19:45:39 +00:00
|
|
|
echo " TransportID \"trtype:PCIe traddr:${bdfs[i]}\" Nvme$i"
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2020-05-07 11:27:06 +00:00
|
|
|
function create_json_config() {
|
2018-05-16 19:45:39 +00:00
|
|
|
echo "{"
|
|
|
|
echo '"subsystem": "bdev",'
|
|
|
|
echo '"config": ['
|
2020-05-07 11:27:06 +00:00
|
|
|
for ((i = 0; i < ${#bdfs[@]}; i++)); do
|
2018-05-16 19:45:39 +00:00
|
|
|
echo '{'
|
|
|
|
echo '"params": {'
|
|
|
|
echo '"trtype": "PCIe",'
|
|
|
|
echo "\"name\": \"Nvme$i\","
|
|
|
|
echo "\"traddr\": \"${bdfs[i]}\""
|
|
|
|
echo '},'
|
2019-08-23 13:50:51 +00:00
|
|
|
echo '"method": "bdev_nvme_attach_controller"'
|
2020-05-07 11:27:06 +00:00
|
|
|
if [ -z ${bdfs[i + 1]} ]; then
|
2018-05-16 19:45:39 +00:00
|
|
|
echo '}'
|
|
|
|
else
|
|
|
|
echo '},'
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
echo ']'
|
|
|
|
echo '}'
|
|
|
|
}
|
|
|
|
|
2020-06-23 08:25:15 +00:00
|
|
|
bdfs=($(nvme_in_userspace))
|
2018-12-28 13:41:48 +00:00
|
|
|
|
2018-05-16 19:45:39 +00:00
|
|
|
if [ "$1" = "--json" ]; then
|
|
|
|
create_json_config
|
|
|
|
else
|
|
|
|
create_classic_config
|
|
|
|
fi
|