1#!/usr/bin/env bash 2 3set -e 4 5rootdir=$(readlink -f $(dirname $0))/.. 6 7function usage { 8 echo "Usage: $0 -a TRANSPORT_ADDR -n BDEV_NAME -l PUNITS [-u UUID]" 9 echo "UUID is required when restoring device state" 10 echo 11 echo "TRANSPORT_ADDR - SSD's PCIe address" 12 echo "BDEV_NAME - name of the bdev" 13 echo "PUNITS - bdev's parallel unit range (e.g. 0-3)" 14 echo "UUID - bdev's uuid (used when in restore mode)" 15} 16 17function generate_config { 18 echo "[Ftl]" 19 echo " TransportID \"trtype:PCIe traddr:$1\" $2 $3 $4" 20} 21 22while getopts ":a:n:l:m:u:" arg; do 23 case "$arg" in 24 a) addr=$OPTARG ;; 25 n) name=$OPTARG ;; 26 l) punits=$OPTARG ;; 27 u) uuid=$OPTARG ;; 28 h) usage 29 exit 0 ;; 30 *) usage 31 exit 1 ;; 32 esac 33done 34 35if [[ -z "$addr" || -z "$name" || -z "$punits" ]]; then 36 usage 37 exit 1 38fi 39 40generate_config $addr $name $punits $uuid 41