aboutsummaryrefslogtreecommitdiff
path: root/tests/qemu-iotests/common.rc
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2018-07-11 14:40:46 +0800
committerKevin Wolf <kwolf@redhat.com>2018-07-12 18:24:08 +0200
commit2f9d4083f7fdafe82138e983a24ef30b81b029d7 (patch)
treea06c561293fa1ab2debbe45718b7e474d3ba8de2 /tests/qemu-iotests/common.rc
parent0e1a582750269d3dde0481ca034b08a5784e430c (diff)
iotests: nbd: Stop qemu-nbd before remaking image
197 is one example where _make_test_img is used twice without stopping the NBD server in between. An error will occur like this: @@ -26,9 +26,13 @@ === Partial final cluster === +qemu-img: TEST_DIR/t.IMGFMT: Failed to get "resize" lock +Is another process using the image? Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1024 +Failed to find an available port: Address already in use read 1024/1024 bytes at offset 0 Patch _make_test_img to stop the old qemu-nbd before starting a new one, which fixes this problem, and similarly 215. Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/qemu-iotests/common.rc')
-rw-r--r--tests/qemu-iotests/common.rc21
1 files changed, 15 insertions, 6 deletions
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index d054cb97fc..44bee16a5e 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -195,6 +195,16 @@ _use_sample_img()
fi
}
+_stop_nbd_server()
+{
+ if [ -f "${QEMU_TEST_DIR}/qemu-nbd.pid" ]; then
+ local QEMU_NBD_PID
+ read QEMU_NBD_PID < "${QEMU_TEST_DIR}/qemu-nbd.pid"
+ kill ${QEMU_NBD_PID}
+ rm -f "${QEMU_TEST_DIR}/qemu-nbd.pid"
+ fi
+}
+
_make_test_img()
{
# extra qemu-img options can be added by tests
@@ -234,6 +244,10 @@ _make_test_img()
extra_img_options="-o $optstr $extra_img_options"
fi
+ if [ $IMGPROTO = "nbd" ]; then
+ _stop_nbd_server
+ fi
+
# XXX(hch): have global image options?
(
if [ $use_backing = 1 ]; then
@@ -274,12 +288,7 @@ _cleanup_test_img()
case "$IMGPROTO" in
nbd)
- if [ -f "${QEMU_TEST_DIR}/qemu-nbd.pid" ]; then
- local QEMU_NBD_PID
- read QEMU_NBD_PID < "${QEMU_TEST_DIR}/qemu-nbd.pid"
- kill ${QEMU_NBD_PID}
- rm -f "${QEMU_TEST_DIR}/qemu-nbd.pid"
- fi
+ _stop_nbd_server
rm -f "$TEST_IMG_FILE"
;;
vxhs)