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