>From 674132232f94c1db8015ed780ba84f49fb0fd2bc Mon Sep 17 00:00:00 2001 From: Pavel Butsykin Date: Thu, 15 Jun 2017 15:42:26 +0300 Subject: [PATCH] qemu-iotests: add -iothread option Signed-off-by: Pavel Butsykin --- tests/qemu-iotests/085 | 9 ++++++++- tests/qemu-iotests/common | 7 +++++++ tests/qemu-iotests/common.qemu | 9 +++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/tests/qemu-iotests/085 b/tests/qemu-iotests/085 index b97adcd8db..7b4419deeb 100755 --- a/tests/qemu-iotests/085 +++ b/tests/qemu-iotests/085 @@ -131,7 +131,14 @@ echo === Running QEMU === echo qemu_comm_method="qmp" -_launch_qemu -drive file="${TEST_IMG}.1",if=virtio -drive file="${TEST_IMG}.2",if=virtio +if [ "${IOTHREAD_QEMU}" = "y" ]; then + _launch_qemu -drive file="${TEST_IMG}.1",if=none,id=virtio0 \ + -device virtio-blk-pci,iothread=iothread1,drive=virtio0 \ + -drive file="${TEST_IMG}.2",if=none,id=virtio1 \ + -device virtio-blk-pci,iothread=iothread1,drive=virtio1 +else + _launch_qemu -drive file="${TEST_IMG}.1",if=virtio -drive file="${TEST_IMG}.2",if=virtio +fi h=$QEMU_HANDLE echo diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/common index f2a7199c4b..fffbf39d55 100644 --- a/tests/qemu-iotests/common +++ b/tests/qemu-iotests/common @@ -53,6 +53,7 @@ export QEMU_IO_OPTIONS="" export CACHEMODE_IS_DEFAULT=true export QEMU_OPTIONS="-nodefaults -machine accel=qtest" export VALGRIND_QEMU= +export IOTHREAD_QEMU= export IMGKEYSECRET= export IMGOPTSSYNTAX=false @@ -165,6 +166,7 @@ image protocol options other options -xdiff graphical mode diff -nocache use O_DIRECT on backing file + -iothread enable iothread -misalign misalign memory allocations -n show me, do not run tests -o options -o options to pass to qemu-img create/convert @@ -297,6 +299,11 @@ testlist options xpand=false ;; + -iothread) + IOTHREAD_QEMU='y' + xpand=false + ;; + -g) # -g group ... pick from group file group=true xpand=false diff --git a/tests/qemu-iotests/common.qemu b/tests/qemu-iotests/common.qemu index 7a78a00999..230898ab43 100644 --- a/tests/qemu-iotests/common.qemu +++ b/tests/qemu-iotests/common.qemu @@ -139,6 +139,7 @@ function _launch_qemu() local comm= local fifo_out= local fifo_in= + local iothread= if (shopt -s nocasematch; [[ "${qemu_comm_method}" == "monitor" ]]) then @@ -148,6 +149,10 @@ function _launch_qemu() comm="-monitor none -qmp stdio" fi + if [ "${IOTHREAD_QEMU}" = "y" ]; then + iothread="--enable-kvm -object iothread,id=iothread1" + fi + fifo_out=${QEMU_FIFO_OUT}_${_QEMU_HANDLE} fifo_in=${QEMU_FIFO_IN}_${_QEMU_HANDLE} mkfifo "${fifo_out}" @@ -155,12 +160,12 @@ function _launch_qemu() if [ -z "$keep_stderr" ]; then QEMU_NEED_PID='y'\ - ${QEMU} -nographic -serial none ${comm} "address@hidden" >"${fifo_out}" \ + ${QEMU} ${iothread} -nographic -serial none ${comm} "address@hidden" >"${fifo_out}" \ 2>&1 \ <"${fifo_in}" & elif [ "$keep_stderr" = "y" ]; then QEMU_NEED_PID='y'\ - ${QEMU} -nographic -serial none ${comm} "address@hidden" >"${fifo_out}" \ + ${QEMU} ${iothread} -nographic -serial none ${comm} "address@hidden" >"${fifo_out}" \ <"${fifo_in}" & else exit 1 -- 2.13.0