diff options
author | Fam Zheng <famz@redhat.com> | 2018-07-11 14:40:46 +0800 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2018-07-12 18:24:08 +0200 |
commit | 2f9d4083f7fdafe82138e983a24ef30b81b029d7 (patch) | |
tree | a06c561293fa1ab2debbe45718b7e474d3ba8de2 /tests | |
parent | 0e1a582750269d3dde0481ca034b08a5784e430c (diff) | |
download | qemu-2f9d4083f7fdafe82138e983a24ef30b81b029d7.zip qemu-2f9d4083f7fdafe82138e983a24ef30b81b029d7.tar.gz qemu-2f9d4083f7fdafe82138e983a24ef30b81b029d7.tar.bz2 |
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')
-rw-r--r-- | tests/qemu-iotests/common.rc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc index d054cb9..44bee16 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) |