766b1f62d9
Two fio instancess will try to do simultaneous I/O to a single vhost block device. The test uses default_initiator.job as a fio config, which apparently wasn't used anywhere and had to be slightly adjusted to work. Specificaly, we had to specify an empty job in the config file, as specifying it from the command line wouldn't make it inherit any options from the [global] section in the file. Change-Id: I2c2a96a709c567f5c910715a5b3d85a4e28bcb97 Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com> Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/419066 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
31 lines
967 B
Bash
Executable File
31 lines
967 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
SHARED_DIR=$(readlink -f $(dirname $0))
|
|
[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $SHARED_DIR/../common && pwd)"
|
|
ROOT_DIR=$(readlink -f $SHARED_DIR/../../..)
|
|
source $COMMON_DIR/common.sh
|
|
PLUGIN_DIR=$ROOT_DIR/examples/bdev/fio_plugin
|
|
FIO_PATH="/usr/src/fio"
|
|
rpc_py="$SPDK_BUILD_DIR/scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
|
|
|
|
function run_spdk_fio() {
|
|
LD_PRELOAD=$PLUGIN_DIR/fio_plugin $FIO_PATH/fio --ioengine=spdk_bdev \
|
|
"$COMMON_DIR/fio_jobs/default_initiator.job" --runtime=10 --rw=randrw \
|
|
--spdk_mem=1024 --spdk_single_seg=1 --spdk_conf=$SHARED_DIR/bdev.conf "$@"
|
|
}
|
|
|
|
trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR SIGTERM SIGABRT
|
|
|
|
spdk_vhost_run
|
|
|
|
$rpc_py construct_malloc_bdev -b Malloc 124 4096
|
|
$rpc_py construct_vhost_blk_controller Malloc.0 Malloc
|
|
|
|
run_spdk_fio --size=50% --offset=0 --filename=VirtioBlk0 &
|
|
run_fio_pid=$!
|
|
sleep 1
|
|
run_spdk_fio --size=50% --offset=50% --filename=VirtioBlk0
|
|
wait $run_fio_pid
|
|
spdk_vhost_kill
|