]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/scripts/gen_ftl.sh
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / scripts / gen_ftl.sh
CommitLineData
9f95a23c
TL
1#!/usr/bin/env bash
2
3set -e
4
5rootdir=$(readlink -f $(dirname $0))/..
6
f67539c2
TL
7function usage() {
8 echo "Usage: [-j] $0 -n BDEV_NAME -d BASE_BDEV [-u UUID] [-c CACHE]"
9f95a23c
TL
9 echo "UUID is required when restoring device state"
10 echo
9f95a23c 11 echo "BDEV_NAME - name of the bdev"
f67539c2 12 echo "BASE_BDEV - name of the bdev to be used as underlying device"
9f95a23c
TL
13 echo "UUID - bdev's uuid (used when in restore mode)"
14 echo "CACHE - name of the bdev to be used as write buffer cache"
15}
16
f67539c2 17function create_json_config() {
9f95a23c
TL
18 echo "{"
19 echo '"subsystem": "bdev",'
20 echo '"config": ['
21 echo '{'
f67539c2 22 echo '"method": "bdev_ftl_create",'
9f95a23c 23 echo '"params": {'
f67539c2
TL
24 echo "\"name\": \"$1\","
25 echo "\"base_bdev\": \"$2\","
26 if [ -n "$4" ]; then
27 echo "\"uuid\": \"$3\","
28 echo "\"cache\": \"$4\""
9f95a23c 29 else
f67539c2 30 echo "\"uuid\": \"$3\""
9f95a23c
TL
31 fi
32 echo '}'
33 echo '}'
34 echo ']'
35 echo '}'
36}
37
38uuid=00000000-0000-0000-0000-000000000000
39
f67539c2 40while getopts ":c:d:hn:u:" arg; do
9f95a23c 41 case "$arg" in
f67539c2
TL
42 n) name=$OPTARG ;;
43 d) base_bdev=$OPTARG ;;
44 u) uuid=$OPTARG ;;
45 c) cache=$OPTARG ;;
46 h)
47 usage
48 exit 0
49 ;;
50 *)
51 usage
52 exit 1
53 ;;
9f95a23c
TL
54 esac
55done
56
f67539c2 57if [[ -z "$name" || -z "$base_bdev" ]]; then
9f95a23c
TL
58 usage
59 exit 1
60fi
61
f67539c2 62create_json_config $name $base_bdev $uuid $cache