Commit 846a1d11 authored by Jeff Cody's avatar Jeff Cody Committed by Max Reitz
Browse files

qemu-iotests: Don't create fifos / pidfiles with protocol paths

Trying to create, use, and remove fifos and pidfiles on protocol paths
(e.g. nfs://localhost/scratch/qemu-nbd.pid

) is obviously broken.

Use the local $TEST_DIR path before it is 'protocolized' for these
files.

Signed-off-by: default avatarJeff Cody <jcody@redhat.com>
Message-id: bb4a731a35bc4ac81fe3db17479dd686315317c7.1485392617.git.jcody@redhat.com
Reviewed-by: default avatarMax Reitz <mreitz@redhat.com>
Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
parent 418661e0
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ _qemu_wrapper()
{
    (
        if [ -n "${QEMU_NEED_PID}" ]; then
            echo $BASHPID > "${TEST_DIR}/qemu-${_QEMU_HANDLE}.pid"
            echo $BASHPID > "${QEMU_TEST_DIR}/qemu-${_QEMU_HANDLE}.pid"
        fi
        exec "$QEMU_PROG" $QEMU_OPTIONS "$@"
    )
@@ -151,7 +151,7 @@ _qemu_io_wrapper()
_qemu_nbd_wrapper()
{
    (
        echo $BASHPID > "${TEST_DIR}/qemu-nbd.pid"
        echo $BASHPID > "${QEMU_TEST_DIR}/qemu-nbd.pid"
        exec "$QEMU_NBD_PROG" $QEMU_NBD_OPTIONS "$@"
    )
}
@@ -186,6 +186,8 @@ if [ -z "$TEST_DIR" ]; then
        TEST_DIR=`pwd`/scratch
fi

QEMU_TEST_DIR="${TEST_DIR}"

if [ ! -e "$TEST_DIR" ]; then
        mkdir "$TEST_DIR"
fi
+5 −5
Original line number Diff line number Diff line
@@ -27,8 +27,8 @@

QEMU_COMM_TIMEOUT=10

QEMU_FIFO_IN="${TEST_DIR}/qmp-in-$$"
QEMU_FIFO_OUT="${TEST_DIR}/qmp-out-$$"
QEMU_FIFO_IN="${QEMU_TEST_DIR}/qmp-in-$$"
QEMU_FIFO_OUT="${QEMU_TEST_DIR}/qmp-out-$$"

QEMU_HANDLE=0

@@ -204,9 +204,9 @@ function _cleanup_qemu()
    for i in "${!QEMU_OUT[@]}"
    do
        local QEMU_PID
        if [ -f "${TEST_DIR}/qemu-${i}.pid" ]; then
            read QEMU_PID < "${TEST_DIR}/qemu-${i}.pid"
            rm -f "${TEST_DIR}/qemu-${i}.pid"
        if [ -f "${QEMU_TEST_DIR}/qemu-${i}.pid" ]; then
            read QEMU_PID < "${QEMU_TEST_DIR}/qemu-${i}.pid"
            rm -f "${QEMU_TEST_DIR}/qemu-${i}.pid"
            if [ -z "${wait}" ] && [ -n "${QEMU_PID}" ]; then
                kill -KILL ${QEMU_PID} 2>/dev/null
            fi
+3 −3
Original line number Diff line number Diff line
@@ -193,11 +193,11 @@ _cleanup_test_img()
    case "$IMGPROTO" in

        nbd)
            if [ -f "${TEST_DIR}/qemu-nbd.pid" ]; then
            if [ -f "${QEMU_TEST_DIR}/qemu-nbd.pid" ]; then
                local QEMU_NBD_PID
                read QEMU_NBD_PID < "${TEST_DIR}/qemu-nbd.pid"
                read QEMU_NBD_PID < "${QEMU_TEST_DIR}/qemu-nbd.pid"
                kill ${QEMU_NBD_PID}
                rm -f "${TEST_DIR}/qemu-nbd.pid"
                rm -f "${QEMU_TEST_DIR}/qemu-nbd.pid"
            fi
            rm -f "$TEST_IMG_FILE"
            ;;