xref: /spdk/scripts/gen_ftl.sh (revision 1fc4165fe9bf8512483356ad8e6d27f793f2e3db)
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