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>
}
_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() {
}
_start_nbd_server() {
+ modprobe -q nbd
truncate -s 10G "${TMPDIR}/export"
cat > "${TMPDIR}/nbd.conf" << EOF
[generic]
_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"
}