]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | #!/usr/bin/env bash |
2 | ||
f67539c2 | 3 | curdir=$(dirname $(readlink -f "${BASH_SOURCE[0]}")) |
9f95a23c TL |
4 | rootdir=$(readlink -f $curdir/../../..) |
5 | source $rootdir/test/common/autotest_common.sh | |
6 | ||
7 | rpc_py=$rootdir/scripts/rpc.py | |
8 | ||
f67539c2 TL |
9 | function bdev_check_claimed() { |
10 | if [ "$($rpc_py get_bdevs -b "$@" | jq '.[0].claimed')" = "true" ]; then | |
11 | return 0 | |
12 | else | |
13 | return 1 | |
14 | fi | |
9f95a23c TL |
15 | } |
16 | ||
f67539c2 | 17 | $SPDK_BIN_DIR/iscsi_tgt & |
9f95a23c TL |
18 | spdk_pid=$! |
19 | ||
f67539c2 | 20 | trap 'killprocess $spdk_pid; exit 1' SIGINT SIGTERM EXIT |
9f95a23c TL |
21 | |
22 | waitforlisten $spdk_pid | |
23 | ||
f67539c2 TL |
24 | $rpc_py bdev_malloc_create 101 512 -b Malloc0 |
25 | $rpc_py bdev_malloc_create 101 512 -b Malloc1 | |
9f95a23c | 26 | |
f67539c2 | 27 | $rpc_py bdev_ocf_create PartCache wt Malloc0 NonExisting |
9f95a23c | 28 | |
f67539c2 | 29 | $rpc_py bdev_ocf_get_bdevs PartCache | jq -e \ |
9f95a23c TL |
30 | '.[0] | .started == false and .cache.attached and .core.attached == false' |
31 | ||
f67539c2 | 32 | $rpc_py bdev_ocf_get_bdevs NonExisting | jq -e \ |
9f95a23c TL |
33 | '.[0] | .name == "PartCache"' |
34 | ||
35 | if ! bdev_check_claimed Malloc0; then | |
f67539c2 | 36 | echo >&2 "Base device expected to be claimed now" |
9f95a23c TL |
37 | exit 1 |
38 | fi | |
39 | ||
f67539c2 | 40 | $rpc_py bdev_ocf_delete PartCache |
9f95a23c | 41 | if bdev_check_claimed Malloc0; then |
f67539c2 | 42 | echo >&2 "Base device is not expected to be claimed now" |
9f95a23c TL |
43 | exit 1 |
44 | fi | |
45 | ||
f67539c2 | 46 | $rpc_py bdev_ocf_create FullCache wt Malloc0 Malloc1 |
9f95a23c | 47 | |
f67539c2 | 48 | $rpc_py bdev_ocf_get_bdevs FullCache | jq -e \ |
9f95a23c TL |
49 | '.[0] | .started and .cache.attached and .core.attached' |
50 | ||
51 | if ! (bdev_check_claimed Malloc0 && bdev_check_claimed Malloc1); then | |
f67539c2 | 52 | echo >&2 "Base devices expected to be claimed now" |
9f95a23c TL |
53 | exit 1 |
54 | fi | |
55 | ||
f67539c2 | 56 | $rpc_py bdev_ocf_delete FullCache |
9f95a23c | 57 | if bdev_check_claimed Malloc0 && bdev_check_claimed Malloc1; then |
f67539c2 | 58 | echo >&2 "Base devices are not expected to be claimed now" |
9f95a23c TL |
59 | exit 1 |
60 | fi | |
61 | ||
f67539c2 | 62 | $rpc_py bdev_ocf_create HotCache wt Malloc0 Malloc1 |
9f95a23c TL |
63 | |
64 | if ! (bdev_check_claimed Malloc0 && bdev_check_claimed Malloc1); then | |
f67539c2 | 65 | echo >&2 "Base devices expected to be claimed now" |
9f95a23c TL |
66 | exit 1 |
67 | fi | |
68 | ||
f67539c2 | 69 | $rpc_py bdev_malloc_delete Malloc0 |
9f95a23c TL |
70 | |
71 | if bdev_check_claimed Malloc1; then | |
f67539c2 | 72 | echo >&2 "Base device is not expected to be claimed now" |
9f95a23c TL |
73 | exit 1 |
74 | fi | |
75 | ||
76 | status=$($rpc_py get_bdevs) | |
77 | gone=$(echo $status | jq 'map(select(.name == "HotCache")) == []') | |
78 | if [[ $gone == false ]]; then | |
f67539c2 | 79 | echo >&2 "OCF bdev is expected to unregister" |
9f95a23c TL |
80 | exit 1 |
81 | fi | |
82 | ||
83 | # check if shutdown of running CAS bdev is ok | |
f67539c2 | 84 | $rpc_py bdev_ocf_create PartCache wt NonExisting Malloc1 |
9f95a23c TL |
85 | |
86 | trap - SIGINT SIGTERM EXIT | |
87 | ||
88 | killprocess $spdk_pid |