]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | #!/usr/bin/env bash |
2 | ||
3 | set -e | |
4 | ||
5 | rootdir=$(readlink -f $(dirname $0))/.. | |
6 | ||
f67539c2 TL |
7 | function 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 | 17 | function 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 | ||
38 | uuid=00000000-0000-0000-0000-000000000000 | |
39 | ||
f67539c2 | 40 | while 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 |
55 | done | |
56 | ||
f67539c2 | 57 | if [[ -z "$name" || -z "$base_bdev" ]]; then |
9f95a23c TL |
58 | usage |
59 | exit 1 | |
60 | fi | |
61 | ||
f67539c2 | 62 | create_json_config $name $base_bdev $uuid $cache |