From: Bart Van Assche <bvanassche@acm.org>
To: Omar Sandoval <osandov@fb.com>
Cc: linux-block@vger.kernel.org, Bart Van Assche <bvanassche@acm.org>
Subject: [PATCH v2 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver
Date: Fri, 13 Dec 2019 09:32:32 -0500 [thread overview]
Message-ID: <20191213143232.29899-5-bvanassche@acm.org> (raw)
In-Reply-To: <20191213143232.29899-1-bvanassche@acm.org>
Recently support has been added in the SRP initiator and target drivers
for the SoftiWARP driver. Add a test for SRP over SoftiWARP.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
common/rc | 28 ++++++++++++++++++++++++++++
tests/srp/015 | 45 +++++++++++++++++++++++++++++++++++++++++++++
tests/srp/015.out | 2 ++
3 files changed, 75 insertions(+)
create mode 100755 tests/srp/015
create mode 100644 tests/srp/015.out
diff --git a/common/rc b/common/rc
index 87b1e0718382..63b29be7ba74 100644
--- a/common/rc
+++ b/common/rc
@@ -87,6 +87,21 @@ _have_program() {
return 1
}
+# Check whether the iproute2 snapshot is greater than or equal to $1.
+_have_iproute2() {
+ local snapshot
+
+ if ! snapshot=$(ip -V | sed 's/ip utility, iproute2-ss//'); then
+ SKIP_REASON="ip utility not found"
+ return 1
+ fi
+ if [ "$snapshot" -lt "$1" ]; then
+ SKIP_REASON="ip utility too old"
+ return 1
+ fi
+ return 0
+}
+
_have_src_program() {
if [[ ! -x "$SRCDIR/$1" ]]; then
SKIP_REASON="$1 was not built; run \`make\`"
@@ -134,6 +149,19 @@ _have_kernel_option() {
return 1
}
+# Check whether the version of the running kernel is greater than or equal to
+# $1.$2.$3
+_have_kver() {
+ local d=$1 e=$2 f=$3
+
+ IFS='.' read -r a b c < <(uname -r | sed 's/-.*//')
+ if [ $((a * 65536 + b * 256 + c)) -lt $((d * 65536 + e * 256 + f)) ];
+ then
+ SKIP_REASON="Kernel version too old"
+ return 1
+ fi
+}
+
_have_tracefs() {
stat /sys/kernel/debug/tracing/trace > /dev/null 2>&1
if ! findmnt -t tracefs /sys/kernel/debug/tracing >/dev/null; then
diff --git a/tests/srp/015 b/tests/srp/015
new file mode 100755
index 000000000000..e9769dc8a6a0
--- /dev/null
+++ b/tests/srp/015
@@ -0,0 +1,45 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright 2019 Google LLC
+
+. tests/srp/rc
+
+DESCRIPTION="File I/O on top of multipath concurrently with logout and login (mq) using the SoftiWARP (siw) driver"
+TIMED=1
+
+requires() {
+ _have_modules siw
+ _have_kver 5 5
+ # See also commit 4336c5821a7b ("rdma: add 'link add/delete' commands").
+ _have_iproute2 190404
+}
+
+test_disconnect_repeatedly() {
+ local dev fio_status m
+
+ use_blk_mq y y || return $?
+ dev=$(get_bdev 0) || return $?
+ m=$(mountpoint 0) || return $?
+ create_filesystem "$dev" || return $?
+ mount_and_check "$dev" "$m" || return $?
+ # shellcheck disable=SC2064
+ trap "unmount_and_check $m" RETURN
+ simulate_network_failure_loop "$dev" "$TIMEOUT" &
+ run_fio --verify=md5 --rw=randwrite --bs=4K --loops=$((10**6)) \
+ --iodepth=64 --group_reporting --sync=1 --direct=1 \
+ --ioengine=libaio --directory="$m" --runtime="${TIMEOUT}" \
+ --name=data-integrity-test-mq --thread --numjobs=16 \
+ --output="${RESULTS_DIR}/srp/fio-output-015.txt" \
+ >>"$FULL"
+ fio_status=$?
+ wait
+ log_in
+ return $fio_status
+}
+
+test() {
+ : "${TIMEOUT:=30}"
+ trap 'trap "" EXIT; teardown' EXIT
+ use_siw=1
+ setup && test_disconnect_repeatedly && echo Passed
+}
diff --git a/tests/srp/015.out b/tests/srp/015.out
new file mode 100644
index 000000000000..5e25d8e8672d
--- /dev/null
+++ b/tests/srp/015.out
@@ -0,0 +1,2 @@
+Configured SRP target driver
+Passed
next prev parent reply other threads:[~2019-12-13 20:37 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-13 14:32 [PATCH v2 0/4] Add an SRP test for the SoftiWARP driver Bart Van Assche
2019-12-13 14:32 ` [PATCH v2 1/4] common/multipath-over-rdma: Fix expand_ipv6_addr() Bart Van Assche
2019-12-13 14:32 ` [PATCH v2 2/4] common/multipath-over-rdma: Rename two functions Bart Van Assche
2019-12-13 14:32 ` [PATCH v2 3/4] common/multipath-over-rdma, tests/srp: Make it easy to use siw instead of rdma_rxe Bart Van Assche
2019-12-13 14:32 ` Bart Van Assche [this message]
2019-12-19 21:47 ` [PATCH v2 0/4] Add an SRP test for the SoftiWARP driver Omar Sandoval
2019-12-19 22:04 ` Bart Van Assche
2019-12-19 22:43 ` Omar Sandoval
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191213143232.29899-5-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=linux-block@vger.kernel.org \
--cc=osandov@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox