All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH blktests 0/4] Add an SRP test for the SoftiWARP driver
@ 2019-11-15 17:07 Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 1/4] common/multipath-over-rdma: Fix expand_ipv6_addr() Bart Van Assche
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Bart Van Assche @ 2019-11-15 17:07 UTC (permalink / raw)
  To: Omar Sandoval; +Cc: linux-block, Bart Van Assche

Hi Omar,

Recently a new low-level RDMA driver went upstream, namely the SoftiWARP
driver. That driver implements RDMA over TCP. Support has been added in the
SRP initiator and target drivers for iWARP. This patch series adds a test
for SRP over SoftiWARP. Please consider integration of this patch series in
the official blktests repository.

Thanks,

Bart.

Bart Van Assche (4):
  common/multipath-over-rdma: Fix expand_ipv6_addr()
  common/multipath-over-rdma: Rename two functions
  common/multipath-over-rdma, tests/srp: Make it easy to use siw instead
    of rdma_rxe
  tests/srp/015: Add a test that uses the SoftiWARP (siw) driver

 common/multipath-over-rdma | 58 +++++++++++++++++-----
 tests/srp/015              | 42 ++++++++++++++++
 tests/srp/015.out          |  2 +
 tests/srp/rc               | 98 ++++++++++++++++++++++----------------
 4 files changed, 148 insertions(+), 52 deletions(-)
 create mode 100755 tests/srp/015
 create mode 100644 tests/srp/015.out


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH blktests 1/4] common/multipath-over-rdma: Fix expand_ipv6_addr()
  2019-11-15 17:07 [PATCH blktests 0/4] Add an SRP test for the SoftiWARP driver Bart Van Assche
@ 2019-11-15 17:07 ` Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 2/4] common/multipath-over-rdma: Rename two functions Bart Van Assche
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Bart Van Assche @ 2019-11-15 17:07 UTC (permalink / raw)
  To: Omar Sandoval; +Cc: linux-block, Bart Van Assche

For IPv6 address ::1, instead of returning
0:0000:0000:0000:0000:0000:0000:0000:0001, return
0000:0000:0000:0000:0000:0000:0000:0001.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 common/multipath-over-rdma | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma
index 545a81e8c18e..15f296ef2ab7 100644
--- a/common/multipath-over-rdma
+++ b/common/multipath-over-rdma
@@ -61,7 +61,7 @@ get_ipv4_addr() {
 
 # Convert e.g. ::1 into 0000:0000:0000:0000:0000:0000:0000:0001.
 expand_ipv6_addr() {
-	awk -F : 'BEGIN{left=1} { for(i=1;i<=NF;i++) { a=substr("0000", 1+length($i)) $i; if ($i == "") left=0; else if (left) pre = pre ":" a; else suf = suf ":" a }; mid=substr(":0000:0000:0000:0000:0000:0000:0000:0000", (pre!="")+length(pre)+length(suf)); print substr(pre,2) mid suf}'
+	awk -F : '{ left=1; for(i=1;i<=NF;i++) { a=substr("0000", 1+length($i)) $i; if ($i == "") left=0; else if (left) pre = pre ":" a; else suf = suf ":" a }; mid=substr("0000:0000:0000:0000:0000:0000:0000:0000", (pre=="")+length(pre)+length(suf)); print substr(pre,2) mid suf}'
 }
 
 get_ipv6_addr() {

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH blktests 2/4] common/multipath-over-rdma: Rename two functions
  2019-11-15 17:07 [PATCH blktests 0/4] Add an SRP test for the SoftiWARP driver Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 1/4] common/multipath-over-rdma: Fix expand_ipv6_addr() Bart Van Assche
@ 2019-11-15 17:07 ` Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 3/4] common/multipath-over-rdma, tests/srp: Make it easy to use siw instead of rdma_rxe Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver Bart Van Assche
  3 siblings, 0 replies; 9+ messages in thread
From: Bart Van Assche @ 2019-11-15 17:07 UTC (permalink / raw)
  To: Omar Sandoval; +Cc: linux-block, Bart Van Assche

Since the meaning of this functions will change, make sure that the
function name will match the new meaning.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 common/multipath-over-rdma | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma
index 15f296ef2ab7..9f645f759d2d 100644
--- a/common/multipath-over-rdma
+++ b/common/multipath-over-rdma
@@ -409,7 +409,7 @@ has_rdma_rxe() {
 }
 
 # Load the rdma_rxe kernel module and associate it with all network interfaces.
-start_rdma_rxe() {
+start_soft_rdma() {
 	{
 		modprobe rdma_rxe || return $?
 		(
@@ -425,7 +425,7 @@ start_rdma_rxe() {
 
 # Dissociate the rdma_rxe kernel module from all network interfaces and unload
 # the rdma_rxe kernel module.
-stop_rdma_rxe() {
+stop_soft_rdma() {
 	(
 		cd /sys/class/net &&
 			for i in *; do
@@ -608,7 +608,7 @@ unload_null_blk() {
 }
 
 setup_rdma() {
-	start_rdma_rxe
+	start_soft_rdma
 	(
 		echo "RDMA interfaces:"
 		cd /sys/class/infiniband &&
@@ -627,7 +627,7 @@ teardown_uncond() {
 	killall -9 multipathd >&/dev/null
 	rm -f /etc/multipath.conf
 	stop_target
-	stop_rdma_rxe
+	stop_soft_rdma
 	unload_null_blk
 }
 

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH blktests 3/4] common/multipath-over-rdma, tests/srp: Make it easy to use siw instead of rdma_rxe
  2019-11-15 17:07 [PATCH blktests 0/4] Add an SRP test for the SoftiWARP driver Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 1/4] common/multipath-over-rdma: Fix expand_ipv6_addr() Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 2/4] common/multipath-over-rdma: Rename two functions Bart Van Assche
@ 2019-11-15 17:07 ` Bart Van Assche
  2019-11-15 17:07 ` [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver Bart Van Assche
  3 siblings, 0 replies; 9+ messages in thread
From: Bart Van Assche @ 2019-11-15 17:07 UTC (permalink / raw)
  To: Omar Sandoval; +Cc: linux-block, Bart Van Assche

Make all_primary_gids() return GIDs with zero suffix since SoftiWARP
GIDs have such a suffix. Add SoftiWARP support in start_soft_rdma() and
stop_soft_rdma(). Make do_rdma_cm_login() submit the source IP address
and scope ID to the SRP initiator driver since that information is
essential to establish an IPv6 connection between link-local addresses.
Iterate over RDMA ports instead of UMAD device nodes in log_in() since
no UMAD device node is associated with SoftiWARP ports. In start_lio_srpt(),
use the GID format to identify SoftiWARP ports since the GID suffix for
these ports is zero.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 common/multipath-over-rdma | 48 ++++++++++++++++---
 tests/srp/rc               | 98 ++++++++++++++++++++++----------------
 2 files changed, 99 insertions(+), 47 deletions(-)

diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma
index 9f645f759d2d..40efc4b3aa2e 100644
--- a/common/multipath-over-rdma
+++ b/common/multipath-over-rdma
@@ -11,6 +11,7 @@ filesystem_type=ext4
 fio_aux_path=/tmp/fio-state-files
 memtotal=$(sed -n 's/^MemTotal:[[:blank:]]*\([0-9]*\)[[:blank:]]*kB$/\1/p' /proc/meminfo)
 max_ramdisk_size=$((1<<25))
+use_siw=
 ramdisk_size=$((memtotal*(1024/16)))  # in bytes
 if [ $ramdisk_size -gt $max_ramdisk_size ]; then
 	ramdisk_size=$max_ramdisk_size
@@ -389,9 +390,13 @@ function mountpoint() {
 
 # All primary RDMA GIDs
 all_primary_gids() {
-	find /sys/devices -name infiniband | while read -r p; do
-		cat "$p"/*/ports/*/gids/0
-	done | grep -v ':0000:0000:0000:0000$'
+	local gid p
+
+	for p in /sys/class/infiniband/*/ports/*/gids/0; do
+		gid="$(<"$p")"
+		[ "$gid" != 0000:0000:0000:0000:0000:0000:0000:0000 ] &&
+			echo "$gid"
+	done
 }
 
 # Check whether or not an rdma_rxe instance has been associated with network
@@ -408,24 +413,40 @@ has_rdma_rxe() {
 	return 1
 }
 
-# Load the rdma_rxe kernel module and associate it with all network interfaces.
+# Load the rdma_rxe or siw kernel module and associate it with all network
+# interfaces.
 start_soft_rdma() {
 	{
+	if [ -n "$use_siw" ]; then
+		modprobe siw || return $?
+		(
+			cd /sys/class/net &&
+				for i in *; do
+					[ -e "$i" ] || continue
+					[ -e "/sys/class/infiniband/${i}_siw" ] && continue
+					rdma link add "${i}_siw" type siw netdev "$i" ||
+						echo "Failed to bind the siw driver to $i"
+				done
+		)
+	else
 		modprobe rdma_rxe || return $?
 		(
 			cd /sys/class/net &&
 				for i in *; do
 					if [ -e "$i" ] && ! has_rdma_rxe "$i"; then
-						echo "$i" > /sys/module/rdma_rxe/parameters/add
+						echo "$i" > /sys/module/rdma_rxe/parameters/add ||
+							echo "Failed to bind the rdma_rxe driver to $i"
 					fi
 				done
 		)
+	fi
 	} >>"$FULL"
 }
 
-# Dissociate the rdma_rxe kernel module from all network interfaces and unload
-# the rdma_rxe kernel module.
+# Dissociate the rdma_rxe or siw kernel module from all network interfaces and
+# unload the rdma_rxe kernel module.
 stop_soft_rdma() {
+	{
 	(
 		cd /sys/class/net &&
 			for i in *; do
@@ -439,6 +460,19 @@ stop_soft_rdma() {
 		echo "Unloading rdma_rxe failed"
 		return 1
 	fi
+	(
+		cd /sys/class/net &&
+			for i in *_siw; do
+				[ -e "$i" ] || continue
+				rdma link del "${i}" ||
+					echo "Failed to unbind the siw driver from ${i%_siw}"
+			done
+	)
+	if ! unload_module siw 10; then
+		echo "Unloading siw failed"
+		return 1
+	fi
+	} >>"$FULL"
 }
 
 # /dev/sd... device node assigned to the scsi_debug kernel module.
diff --git a/tests/srp/rc b/tests/srp/rc
index a1bc09b496ec..2738c8f6a4e5 100755
--- a/tests/srp/rc
+++ b/tests/srp/rc
@@ -138,30 +138,51 @@ do_ib_cm_login() {
 	done
 }
 
+rdma_dev_to_net_dev() {
+	local b d rdma_dev=$1
+
+	b=/sys/class/infiniband/$rdma_dev/parent
+	if [ -e "$b" ]; then
+		echo "$(<"$b")"
+	else
+		echo "${rdma_dev%_siw}"
+	fi
+}
+
 # Tell the SRP initiator to log in to an SRP target using the RDMA/CM.
 # Arguments: $1: SRP target IOC GUID; $2: IB device to log in to; $3: additional
 # login parameters.
 do_rdma_cm_login() {
-	local a b add_param d dest dests ibdev ioc_guid pd
+	local a b c add_param d dest dests ibdev ioc_guid params
 
 	ioc_guid=$1
 	ibdev=$2
 	add_param=$3
-	pd=/sys/class/infiniband/$ibdev/parent
-	if [ -e "$pd" ]; then
-		d=$(<"$pd")
+	if d=$(rdma_dev_to_net_dev "$ibdev"); then
 		a=$(get_ipv4_addr "$(basename "$d")")
 		b=$(get_ipv6_addr "$(basename "$d")")
 	fi
 	echo "Interface $d: IPv4 $a IPv6 $b" >>"$FULL"
 	[ -n "$a$b" ] || return 1
+	b=${b}%$(<"/sys/class/net/$d/ifindex")
 	dests=()
-	[ -n "$a" ] && dests+=("${a}:${srp_rdma_cm_port}")
-	[ -n "$b" ] && dests+=("[${b}]:${srp_rdma_cm_port}")
+	for c in $a; do
+		dests+=("${c}:${srp_rdma_cm_port}")
+	done
+	for c in $b; do
+		dests+=("[${c}]:${srp_rdma_cm_port}")
+	done
 	for dest in "${dests[@]}"; do
+		src=${dest%:*}
 		for p in "/sys/class/infiniband_srp/srp-${2}-"*; do
 			[ -e "$p" ] || continue
-			srp_single_login "id_ext=$ioc_guid,ioc_guid=$ioc_guid,dest=$dest,$add_param" "$p/add_target"
+			ibdev=$(<"$p/ibdev")
+			port=$(<"$p/port")
+			gid=$(<"/sys/class/infiniband/$ibdev/ports/$port/gids/0")
+			gid=${gid//:}
+			gid_pfx=${gid:0:16}
+			params+="id_ext=$ioc_guid,initiator_ext=$gid_pfx,ioc_guid=$ioc_guid,src=$src,dest=$dest,$add_param"
+			srp_single_login "${params}" "$p/add_target"
 		done
 	done
 }
@@ -201,11 +222,11 @@ log_in() {
 	ioc_guid=$(</sys/module/ib_srpt/parameters/srpt_service_guid)
 
 	for ((i=0;i<10;i++)); do
-		for d in /sys/class/infiniband_mad/umad*; do
-			[ -e "$d" ] || continue
-			ibdev=$(<"$d/ibdev")
-			port=$(<"$d/port")
-			link_layer=$(<"/sys/class/infiniband/$ibdev/ports/$port/link_layer")
+		for p in /sys/class/infiniband/*/ports/*; do
+			[ -e "$p" ] || continue
+			port=$(basename "$p")
+			ibdev=$(basename "$(dirname "$(dirname "$p")")")
+			link_layer=$(<"$p/link_layer")
 			case $link_layer in
 				InfiniBand)
 					do_ib_cm_login   "$ioc_guid" "$ibdev" "$port" "$add_param" ||
@@ -454,34 +475,34 @@ configure_target_ports() {
 
 # Load LIO and configure the SRP target driver and LUNs.
 start_lio_srpt() {
-	local b d gid guid i ini_gids ini_guids opts p target_gids target_guids vdev
+	local b d gid i ini_ids=() opts p target_ids=() vdev
 
-	# shellcheck disable=SC2207
-	target_guids=($(all_primary_gids | sed 's/^fe80:0000:0000:0000://'))
-	# shellcheck disable=SC2207
-	target_gids=($(all_primary_gids | sed 's/^/0x/;s/://g'))
+	for gid in $(all_primary_gids); do
+		if [ "${gid#fe8}" != "$gid" ]; then
+			gid=${gid#fe80:0000:0000:0000:}
+		else
+			gid=0x${gid//:}
+		fi
+		target_ids+=("$gid")
+	done
+	echo "target_ids=${target_ids[*]}" >>"$FULL"
 	for p in /sys/class/infiniband/*/ports/*; do
 		[ -e "$p" ] || continue
-		link_layer=$(<"$p/link_layer")
-		case "$link_layer" in
-			InfiniBand)
-				guid=$(<"$p/gids/0")
-				gid=$(echo "${guid}" | sed 's/^fe8/0x000/;s/://g')
-				guid=${guid#fe80:0000:0000:0000:}
-				[ "$guid" = "0000:0000:0000:0000" ] && continue
-				ini_guids+=("$guid")
-				ini_gids+=("$gid")
-				;;
-			*)
-				d=$(<"$(dirname "$(dirname "$p")")/parent")
-				for b in $(get_ipv4_addr "$d") \
-						 $(get_ipv6_addr "$d"|expand_ipv6_addr); do
-					ini_guids+=("$b")
-					ini_gids+=("$b")
-				done
-				;;
-		esac
+		gid=$(<"$p/gids/0")
+		if [ "${gid#fe8}" != "$gid" ]; then
+			gid=${gid#fe80:0000:0000:0000:}
+			ini_ids+=("$gid")
+		else
+			gid="0x${gid//:}"
+			ini_ids+=("$gid")
+		fi
+		d=$(rdma_dev_to_net_dev "$(basename "$(dirname "$(dirname "$p")")")")
+		for b in $(get_ipv4_addr "$d") \
+				 $(get_ipv6_addr "$d"|expand_ipv6_addr); do
+			ini_ids+=("$b")
+		done
 	done
+	echo "ini_ids=${ini_ids[*]}" >>"$FULL"
 	mount_configfs || return $?
 	modprobe target_core_mod || return $?
 	modprobe target_core_iblock || return $?
@@ -519,10 +540,7 @@ start_lio_srpt() {
 			echo "${srp_rdma_cm_port}" > discovery_auth/rdma_cm_port ||
 				return $?
 		fi
-		configure_target_ports "${target_guids[@]}" -- "${ini_guids[@]}" || {
-			echo "Retrying with old port name format"
-			configure_target_ports "${target_gids[@]}" -- "${ini_gids[@]}"
-		}
+		configure_target_ports "${target_ids[@]}" -- "${ini_ids[@]}"
 	)
 }
 

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver
  2019-11-15 17:07 [PATCH blktests 0/4] Add an SRP test for the SoftiWARP driver Bart Van Assche
                   ` (2 preceding siblings ...)
  2019-11-15 17:07 ` [PATCH blktests 3/4] common/multipath-over-rdma, tests/srp: Make it easy to use siw instead of rdma_rxe Bart Van Assche
@ 2019-11-15 17:07 ` Bart Van Assche
  2019-11-25 20:13   ` Omar Sandoval
  3 siblings, 1 reply; 9+ messages in thread
From: Bart Van Assche @ 2019-11-15 17:07 UTC (permalink / raw)
  To: Omar Sandoval; +Cc: linux-block, Bart Van Assche

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>
---
 tests/srp/015     | 42 ++++++++++++++++++++++++++++++++++++++++++
 tests/srp/015.out |  2 ++
 2 files changed, 44 insertions(+)
 create mode 100755 tests/srp/015
 create mode 100644 tests/srp/015.out

diff --git a/tests/srp/015 b/tests/srp/015
new file mode 100755
index 000000000000..faef5089ec4c
--- /dev/null
+++ b/tests/srp/015
@@ -0,0 +1,42 @@
+#!/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
+}
+
+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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver
  2019-11-15 17:07 ` [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver Bart Van Assche
@ 2019-11-25 20:13   ` Omar Sandoval
  2019-11-25 20:49     ` Bart Van Assche
  0 siblings, 1 reply; 9+ messages in thread
From: Omar Sandoval @ 2019-11-25 20:13 UTC (permalink / raw)
  To: Bart Van Assche; +Cc: Omar Sandoval, linux-block

On Fri, Nov 15, 2019 at 09:07:11AM -0800, Bart Van Assche wrote:
> 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>
> ---
>  tests/srp/015     | 42 ++++++++++++++++++++++++++++++++++++++++++
>  tests/srp/015.out |  2 ++
>  2 files changed, 44 insertions(+)
>  create mode 100755 tests/srp/015
>  create mode 100644 tests/srp/015.out

Hi, Bart,

I'm getting:

srp/015 (File I/O on top of multipath concurrently with logout and login (mq) using the SoftiWARP (siw) driver) [failed]
    runtime  1.076s  ...  1.026s
    --- tests/srp/015.out       2019-11-25 12:07:06.749425714 -0800
    +++ /home/vmuser/repos/blktests/results/nodev/srp/015.out.bad       2019-11-25 12:12:07.634062201 -0800
    @@ -1,2 +1 @@
    -Configured SRP target driver
    -Passed
    +mkdir: cannot create directory ‘0x52540012345600000000000000000000’: Invalid argument

This is on v5.4-rc8 with CONFIG_RDMA_SIW=m. Do you know what is wrong
here?

Thanks!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver
  2019-11-25 20:13   ` Omar Sandoval
@ 2019-11-25 20:49     ` Bart Van Assche
  2019-11-25 21:10       ` Omar Sandoval
  0 siblings, 1 reply; 9+ messages in thread
From: Bart Van Assche @ 2019-11-25 20:49 UTC (permalink / raw)
  To: Omar Sandoval; +Cc: Omar Sandoval, linux-block

On 11/25/19 12:13 PM, Omar Sandoval wrote:
> On Fri, Nov 15, 2019 at 09:07:11AM -0800, Bart Van Assche wrote:
>> 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>
>> ---
>>   tests/srp/015     | 42 ++++++++++++++++++++++++++++++++++++++++++
>>   tests/srp/015.out |  2 ++
>>   2 files changed, 44 insertions(+)
>>   create mode 100755 tests/srp/015
>>   create mode 100644 tests/srp/015.out
> 
> Hi, Bart,
> 
> I'm getting:
> 
> srp/015 (File I/O on top of multipath concurrently with logout and login (mq) using the SoftiWARP (siw) driver) [failed]
>      runtime  1.076s  ...  1.026s
>      --- tests/srp/015.out       2019-11-25 12:07:06.749425714 -0800
>      +++ /home/vmuser/repos/blktests/results/nodev/srp/015.out.bad       2019-11-25 12:12:07.634062201 -0800
>      @@ -1,2 +1 @@
>      -Configured SRP target driver
>      -Passed
>      +mkdir: cannot create directory ‘0x52540012345600000000000000000000’: Invalid argument
> 
> This is on v5.4-rc8 with CONFIG_RDMA_SIW=m. Do you know what is wrong
> here?

Hi Omar,

I should have mentioned that the SRP iWARP support patches have been 
accepted in the RDMA tree but that these are not yet in Linus' tree. The 
SRP iWARP patches should be merged in Linus' tree during the current 
merge window. If you would like to test these patches before Linus 
merges the RDMA pull request, please have a look at 
https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=for-next&ofs=1000

Thanks,

Bart.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver
  2019-11-25 20:49     ` Bart Van Assche
@ 2019-11-25 21:10       ` Omar Sandoval
  2019-11-25 21:41         ` Bart Van Assche
  0 siblings, 1 reply; 9+ messages in thread
From: Omar Sandoval @ 2019-11-25 21:10 UTC (permalink / raw)
  To: Bart Van Assche; +Cc: Omar Sandoval, linux-block

On Mon, Nov 25, 2019 at 12:49:51PM -0800, Bart Van Assche wrote:
> On 11/25/19 12:13 PM, Omar Sandoval wrote:
> > On Fri, Nov 15, 2019 at 09:07:11AM -0800, Bart Van Assche wrote:
> > > 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>
> > > ---
> > >   tests/srp/015     | 42 ++++++++++++++++++++++++++++++++++++++++++
> > >   tests/srp/015.out |  2 ++
> > >   2 files changed, 44 insertions(+)
> > >   create mode 100755 tests/srp/015
> > >   create mode 100644 tests/srp/015.out
> > 
> > Hi, Bart,
> > 
> > I'm getting:
> > 
> > srp/015 (File I/O on top of multipath concurrently with logout and login (mq) using the SoftiWARP (siw) driver) [failed]
> >      runtime  1.076s  ...  1.026s
> >      --- tests/srp/015.out       2019-11-25 12:07:06.749425714 -0800
> >      +++ /home/vmuser/repos/blktests/results/nodev/srp/015.out.bad       2019-11-25 12:12:07.634062201 -0800
> >      @@ -1,2 +1 @@
> >      -Configured SRP target driver
> >      -Passed
> >      +mkdir: cannot create directory ‘0x52540012345600000000000000000000’: Invalid argument
> > 
> > This is on v5.4-rc8 with CONFIG_RDMA_SIW=m. Do you know what is wrong
> > here?
> 
> Hi Omar,
> 
> I should have mentioned that the SRP iWARP support patches have been
> accepted in the RDMA tree but that these are not yet in Linus' tree. The SRP
> iWARP patches should be merged in Linus' tree during the current merge
> window. If you would like to test these patches before Linus merges the RDMA
> pull request, please have a look at https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=for-next&ofs=1000

Okay, I figured I was missing something. Can we detect this in
requires() so that it doesn't fail on old kernels?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver
  2019-11-25 21:10       ` Omar Sandoval
@ 2019-11-25 21:41         ` Bart Van Assche
  0 siblings, 0 replies; 9+ messages in thread
From: Bart Van Assche @ 2019-11-25 21:41 UTC (permalink / raw)
  To: Omar Sandoval; +Cc: Omar Sandoval, linux-block

On 11/25/19 1:10 PM, Omar Sandoval wrote:
> On Mon, Nov 25, 2019 at 12:49:51PM -0800, Bart Van Assche wrote:
>> On 11/25/19 12:13 PM, Omar Sandoval wrote:
>>> On Fri, Nov 15, 2019 at 09:07:11AM -0800, Bart Van Assche wrote:
>>>> 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>
>>>> ---
>>>>    tests/srp/015     | 42 ++++++++++++++++++++++++++++++++++++++++++
>>>>    tests/srp/015.out |  2 ++
>>>>    2 files changed, 44 insertions(+)
>>>>    create mode 100755 tests/srp/015
>>>>    create mode 100644 tests/srp/015.out
>>>
>>> Hi, Bart,
>>>
>>> I'm getting:
>>>
>>> srp/015 (File I/O on top of multipath concurrently with logout and login (mq) using the SoftiWARP (siw) driver) [failed]
>>>       runtime  1.076s  ...  1.026s
>>>       --- tests/srp/015.out       2019-11-25 12:07:06.749425714 -0800
>>>       +++ /home/vmuser/repos/blktests/results/nodev/srp/015.out.bad       2019-11-25 12:12:07.634062201 -0800
>>>       @@ -1,2 +1 @@
>>>       -Configured SRP target driver
>>>       -Passed
>>>       +mkdir: cannot create directory ‘0x52540012345600000000000000000000’: Invalid argument
>>>
>>> This is on v5.4-rc8 with CONFIG_RDMA_SIW=m. Do you know what is wrong
>>> here?
>>
>> Hi Omar,
>>
>> I should have mentioned that the SRP iWARP support patches have been
>> accepted in the RDMA tree but that these are not yet in Linus' tree. The SRP
>> iWARP patches should be merged in Linus' tree during the current merge
>> window. If you would like to test these patches before Linus merges the RDMA
>> pull request, please have a look at https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=for-next&ofs=1000
> 
> Okay, I figured I was missing something. Can we detect this in
> requires() so that it doesn't fail on old kernels?

Sure, I will make that change.

Bart.



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-11-25 21:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-15 17:07 [PATCH blktests 0/4] Add an SRP test for the SoftiWARP driver Bart Van Assche
2019-11-15 17:07 ` [PATCH blktests 1/4] common/multipath-over-rdma: Fix expand_ipv6_addr() Bart Van Assche
2019-11-15 17:07 ` [PATCH blktests 2/4] common/multipath-over-rdma: Rename two functions Bart Van Assche
2019-11-15 17:07 ` [PATCH blktests 3/4] common/multipath-over-rdma, tests/srp: Make it easy to use siw instead of rdma_rxe Bart Van Assche
2019-11-15 17:07 ` [PATCH blktests 4/4] tests/srp/015: Add a test that uses the SoftiWARP (siw) driver Bart Van Assche
2019-11-25 20:13   ` Omar Sandoval
2019-11-25 20:49     ` Bart Van Assche
2019-11-25 21:10       ` Omar Sandoval
2019-11-25 21:41         ` Bart Van Assche

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.