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