]> www.infradead.org Git - users/hch/blktests.git/commitdiff
tests/srp: fix module loading issue during srp tests
authorYi Zhang <yi.zhang@redhat.com>
Mon, 25 Oct 2021 01:24:16 +0000 (09:24 +0800)
committerOmar Sandoval <osandov@fb.com>
Mon, 22 Nov 2021 19:26:15 +0000 (11:26 -0800)
The ib_isert/ib_srpt modules will be automatically loaded after the first
 time rdma_rxe/siw setup, which will lead srp tests fail.

$ modprobe rdma_rxe
$ echo eno1 >/sys/module/rdma_rxe/parameters/add
$ lsmod | grep -E "ib_srpt|iscsi_target_mod|ib_isert"
ib_srpt               167936  0
ib_isert              139264  0
iscsi_target_mod      843776  1 ib_isert
target_core_mod      1069056  3 iscsi_target_mod,ib_srpt,ib_isert
rdma_cm               315392  5 rpcrdma,ib_srpt,ib_iser,ib_isert,rdma_ucm
ib_cm                 344064  2 rdma_cm,ib_srpt
ib_core              1101824  10 rdma_cm,rdma_rxe,rpcrdma,ib_srpt,iw_cm,ib_iser,ib_isert,rdma_ucm,ib_uverbs,ib_cm

$ ./check srp/001
srp/001 (Create and remove LUNs)                             [failed]
    runtime    ...  3.675s
    --- tests/srp/001.out 2021-10-13 01:18:50.846740093 -0400
    +++ /root/blktests/results/nodev/srp/001.out.bad 2021-10-14 03:24:18.593852208 -0400
    @@ -1,3 +1 @@
    -Configured SRP target driver
    -count_luns(): 3 <> 3
    -Passed
    +insmod: ERROR: could not insert module /lib/modules/5.15.0-rc5.fix+/kernel/drivers/infiniband/ulp/srpt/ib_srpt.ko: File exists
modprobe: FATAL: Module iscsi_target_mod is in use.

Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
tests/srp/rc

index 586f007c93cecf1e0a26999b428de2cc29337cbf..d44082af39de3cac6a2a67c402172432b08116e9 100755 (executable)
@@ -494,7 +494,8 @@ start_lio_srpt() {
        if modinfo ib_srpt | grep -q '^parm:[[:blank:]]*rdma_cm_port:'; then
                opts+=("rdma_cm_port=${srp_rdma_cm_port}")
        fi
-       insmod "/lib/modules/$(uname -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt."* "${opts[@]}" || return $?
+       unload_module ib_srpt
+       modprobe ib_srpt "${opts[@]}" || return $?
        i=0
        for r in "${vdev_path[@]}"; do
                if [ -b "$(readlink -f "$r")" ]; then
@@ -551,7 +552,7 @@ stop_lio_srpt() {
        rmdir /sys/kernel/config/target/*/* >&/dev/null
        rmdir /sys/kernel/config/target/* >&/dev/null
 
-       for m in ib_srpt iscsi_target_mod target_core_pscsi target_core_iblock \
+       for m in ib_srpt ib_isert iscsi_target_mod target_core_pscsi target_core_iblock \
                         target_core_file target_core_stgt target_core_user \
                         target_core_mod
        do