xref: /spdk/test/blobstore/blobstore_grow/blobstore_grow.sh (revision ee8167e3e1671162f2e832d6b8798fb04ee76f3c)
1#!/usr/bin/env bash
2
3SYSTEM=$(uname -s)
4if [ $SYSTEM = "FreeBSD" ]; then
5	echo "blob_io_wait.sh cannot run on FreeBSD currently."
6	exit 0
7fi
8
9testdir=$(readlink -f $(dirname $0))
10rootdir=$(readlink -f $testdir/../../..)
11source $rootdir/test/common/autotest_common.sh
12rpc_py="$rootdir/scripts/rpc.py"
13
14$rootdir/test/app/bdev_svc/bdev_svc &
15bdev_svc_pid=$!
16
17trap 'killprocess $bdev_svc_pid; exit 1' SIGINT SIGTERM EXIT
18
19waitforlisten $bdev_svc_pid
20
21$rpc_py bdev_malloc_create --name malloc0 128 4096
22$rpc_py bdev_malloc_create --name malloc1 128 4096
23$rpc_py bdev_malloc_create --name malloc2 128 4096
24$rpc_py bdev_raid_create --name concat0 --raid-level concat --base-bdevs malloc0 --strip-size-kb 4
25$rpc_py bdev_lvol_create_lvstore --cluster-sz 4194304 --clear-method unmap concat0 lvs0 --md-pages-per-cluster-ratio 300
26free_clusters=$($rpc_py bdev_lvol_get_lvstores --lvs-name lvs0 | jq -rM '.[0].free_clusters')
27test $free_clusters -eq 31
28$rpc_py bdev_raid_delete concat0
29$rpc_py bdev_raid_create --name concat0 --raid-level concat --base-bdevs "malloc0 malloc1" --strip-size-kb 4
30$rpc_py bdev_lvol_grow_lvstore -l lvs0
31free_clusters=$($rpc_py bdev_lvol_get_lvstores --lvs-name lvs0 | jq -rM '.[0].free_clusters')
32test $free_clusters -eq 63
33$rpc_py bdev_lvol_create --lvs-name lvs0 --thin-provision --clear-method unmap lv0 8192
34$rpc_py bdev_raid_delete concat0
35$rpc_py bdev_raid_create --name concat0 --raid-level concat --base-bdevs "malloc0 malloc1 malloc2" --strip-size-kb 4
36$rpc_py bdev_lvol_grow_lvstore -l lvs0
37free_clusters=$($rpc_py bdev_lvol_get_lvstores --lvs-name lvs0 | jq -rM '.[0].free_clusters')
38test $free_clusters -eq 95
39bdev_cnt=$($rpc_py bdev_get_bdevs --name lvs0/lv0 | jq -rM '. | length')
40test $bdev_cnt -eq 1
41
42killprocess $bdev_svc_pid
43
44trap - SIGINT SIGTERM EXIT
45