]> www.infradead.org Git - users/sagi/blktests.git/commitdiff
nbd/rc: load nbd module explicitly
authorShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Tue, 23 Aug 2022 00:11:49 +0000 (09:11 +0900)
committerShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Mon, 29 Aug 2022 23:52:54 +0000 (08:52 +0900)
After the commit "common/rc: avoid module load in _have_driver()",
_have_driver() no longer loads specified module. However, nbd test cases
and _have_nbd_netlink() function assume that the module is loaded by
calling _have_driver(). This causes test case failures and unexpected
skips. To fix them, load and unload modules explicitly in functions
_start_nbd_server*(), _stop_nbd_server*() and _have_nbd_netlink().

Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
tests/nbd/rc

index 9c1c15b1a96164f7f1fe9442c4f5f804665e3c1c..32eea45d0426bd6a26cf6c1ab4d86c81bac61889 100644 (file)
@@ -28,17 +28,21 @@ _have_nbd() {
 }
 
 _have_nbd_netlink() {
+       local ret=0
+
        if ! _have_nbd; then
                return 1
        fi
        if ! _have_program genl-ctrl-list; then
                return 1
        fi
+       modprobe -q nbd
        if ! genl-ctrl-list | grep -q nbd; then
                SKIP_REASONS+=("nbd does not support netlink")
-               return 1
+               ret=1
        fi
-       return 0
+       modprobe -qr nbd
+       return $ret
 }
 
 _wait_for_nbd_connect() {
@@ -62,6 +66,7 @@ _wait_for_nbd_disconnect() {
 }
 
 _start_nbd_server() {
+       modprobe -q nbd
        truncate -s 10G "${TMPDIR}/export"
        cat > "${TMPDIR}/nbd.conf" << EOF
 [generic]
@@ -73,17 +78,20 @@ EOF
 
 _stop_nbd_server() {
        kill -SIGTERM "$(cat "${TMPDIR}/nbd.pid")"
+       modprobe -qr nbd
        rm -f "${TMPDIR}/nbd.pid"
        rm -f "${TMPDIR}/export"
 }
 
 _start_nbd_server_netlink() {
+       modprobe -q nbd
        truncate -s 10G "${TMPDIR}/export"
        nbd-server 8000 "${TMPDIR}/export" >/dev/null 2>&1
 }
 
 _stop_nbd_server_netlink() {
        killall -SIGTERM nbd-server
+       modprobe -qr nbd
        rm -f "${TMPDIR}/export"
 }