iotests: Make 182 do without device_add

182 fails if qemu has no support for hotplugging of a virtio-blk device.
Using an NBD server instead works just as well for the test, even on
qemus without hotplugging support.

Fixes: 6d0a4a0fb5
Reported-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20190417153005.30096-1-mreitz@redhat.com>
Tested-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Acked-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Max Reitz 2019-04-17 17:30:05 +02:00 committed by Eric Blake
parent d3192de752
commit 8fabb8be37
2 changed files with 18 additions and 5 deletions

View File

@ -31,6 +31,7 @@ _cleanup()
{
_cleanup_test_img
rm -f "$TEST_IMG.overlay"
rm -f "$TEST_DIR/nbd.socket"
}
trap "_cleanup; exit \$status" 0 1 2 3 15
@ -126,15 +127,26 @@ success_or_failure=y _send_qemu_cmd $QEMU_HANDLE \
'return' \
'error'
# Now we attach the image to a virtio-blk device. This device does
# require some permissions (at least WRITE and READ_CONSISTENT), so if
# Start an NBD server to which we can attach node1
success_or_failure=y _send_qemu_cmd $QEMU_HANDLE \
"{'execute': 'nbd-server-start',
'arguments': {
'addr': {
'type': 'unix',
'data': {
'path': '$TEST_DIR/nbd.socket'
} } } }" \
'return' \
'error'
# Now we attach the image to the NBD server. This server does require
# some permissions (at least WRITE and READ_CONSISTENT), so if
# reopening node0 unshared any (which it should not have), this will
# fail (but it should not).
success_or_failure=y _send_qemu_cmd $QEMU_HANDLE \
"{'execute': 'device_add',
"{'execute': 'nbd-server-add',
'arguments': {
'driver': 'virtio-blk',
'drive': 'node1'
'device': 'node1'
} }" \
'return' \
'error'

View File

@ -14,4 +14,5 @@ Formatting 'TEST_DIR/t.qcow2.overlay', fmt=qcow2 size=197120 backing_file=TEST_D
{"return": {}}
{"return": {}}
{"return": {}}
{"return": {}}
*** done