Commit 605da2e9 authored by Boris Glimcher's avatar Boris Glimcher Committed by Tomasz Zawadzki
Browse files

test/vhost: add libblkio for vhost-user tests

libblkio provides an API for efficiently accessing block devices
using modern high-performance block I/O interfaces like Linux io_uring.
Using libbklio reduces the amount of code needed for interfacing
with storage devices and lets you focus on your application.

for vhost-user this library uses memory registration in a little
bit different way using VHOST_USER_ADD_MEM_REG.

The previous patches fixed implementation in both SPDK and DPDK.
see https://review.spdk.io/c/spdk/spdk/+/26344



Since fio already has an engine for libblkio this is the easiest way
to test the new memeory regisration path. Hence adding this test
and installation dependency.

While RHEL published RPM for libblkio, other distros didn't.
Henci choosing to install it from source.

Change-Id: I4e062cb17ca1e973a3a2750580fe4c74366a445e
Signed-off-by: default avatarBoris Glimcher <Boris.Glimcher@emc.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26394


Reviewed-by: default avatarBen Walker <ben@nvidia.com>
Reviewed-by: default avatarMichal Berger <michal.berger@nutanix.com>
Reviewed-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
parent d9ff1b59
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -69,6 +69,9 @@ packages=(
	avahi-utils
	ethtool
	xxd
	rustc
	cargo
	python3-docutils
)

install_vagrant_dependencies() {
+13 −0
Original line number Diff line number Diff line
@@ -219,6 +219,16 @@ function install_libiscsi() {
	sudo make -C "$GIT_REPOS/libiscsi" install
}

function install_libblkio() {
	rm -rf "$GIT_REPOS/libblkio"
	git clone "${GIT_REPO_LIBBLKIO}" "$GIT_REPOS/libblkio"
	meson setup "$GIT_REPOS/libblkio/.build" "$GIT_REPOS/libblkio"
	meson compile -C "$GIT_REPOS/libblkio/.build"
	meson install -C "$GIT_REPOS/libblkio/.build"
	echo "/usr/local/lib64" > /etc/ld.so.conf.d/spdk-libblkio.conf
	ldconfig -X
}

function install_git() {
	if type -P git; then
		if ge "$(git --version | awk '{print $3}')" "$GIT_VERSION"; then
@@ -586,6 +596,7 @@ function install_sources() {
		sources+=(
			install_irdma
			install_libiscsi
			install_libblkio
			install_nvmecli
			install_nvmecli_plugin
			install_qat
@@ -632,6 +643,8 @@ export GIT_REPO_QEMU
export GIT_REPO_QEMU_VFIO
: ${GIT_REPO_LIBISCSI=https://github.com/sahlberg/libiscsi}
export GIT_REPO_LIBISCSI
: ${GIT_REPO_LIBBLKIO=https://gitlab.com/libblkio/libblkio}
export GIT_REPO_LIBBLKIO
: ${DRIVER_LOCATION_QAT=https://downloadmirror.intel.com/828487/QAT.L.4.26.0-00008.tar.gz}
export DRIVER_LOCATION_QAT
: ${GIT_REPO_GIT=https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz}
+3 −0
Original line number Diff line number Diff line
@@ -61,6 +61,9 @@ packages=(
	wget
	xfsprogs
	xxd
	rust
	cargo
	python3-docutils
)

if [[ $OSID != centos && $OSID != rocky && $OSID != rhel ]]; then