Spdk/test/ocf/integrity/flush.sh
Michal Berger d6256d4753 test/ocf: Fix path to bdevperf
https://review.spdk.io/gerrit/c/spdk/spdk/+/8961 missed rebase onto
https://review.spdk.io/gerrit/c/spdk/spdk/+/14558 where the location
of bdevperf was changed.

Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: I46132a63bcbe327c560fae281fcd28f2f78edcaf
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15527
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-11-18 12:46:29 +00:00

82 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
curdir=$(dirname $(readlink -f "${BASH_SOURCE[0]}"))
rootdir=$(readlink -f $curdir/../../..)
source $rootdir/test/common/autotest_common.sh
bdevperf=$rootdir/build/examples/bdevperf
rpc_py="$rootdir/scripts/rpc.py -s /var/tmp/spdk.sock"
check_flush_in_progress() {
$rpc_py bdev_ocf_flush_status MalCache0 \
| jq -e '.in_progress' > /dev/null
}
bdevperf_config() {
local config
config="$(
cat <<- JSON
{
"method": "bdev_malloc_create",
"params": {
"name": "Malloc0",
"num_blocks": 102400,
"block_size": 512
}
},
{
"method": "bdev_malloc_create",
"params": {
"name": "Malloc1",
"num_blocks": 1024000,
"block_size": 512
}
},
{
"method": "bdev_ocf_create",
"params": {
"name": "MalCache0",
"mode": "wb",
"cache_line_size": 4,
"cache_bdev_name": "Malloc0",
"core_bdev_name": "Malloc1"
}
}
JSON
)"
jq . <<- JSON
{
"subsystems": [
{
"subsystem": "bdev",
"config": [
$(
IFS=","
printf '%s\n' "$config"
),
{
"method": "bdev_wait_for_examine"
}
]
}
]
}
JSON
}
$bdevperf --json <(bdevperf_config) -q 128 -o 4096 -w write -t 120 -r /var/tmp/spdk.sock &
bdevperf_pid=$!
trap 'killprocess $bdevperf_pid' SIGINT SIGTERM EXIT
waitforlisten $bdevperf_pid
sleep 5
$rpc_py bdev_ocf_flush_start MalCache0
sleep 1
while check_flush_in_progress; do
sleep 1
done
$rpc_py bdev_ocf_flush_status MalCache0 | jq -e '.status == 0'