diff options
author | Max Reitz <mreitz@redhat.com> | 2021-06-24 10:38:25 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2021-07-20 16:49:50 +0200 |
commit | d21471696b07f30cb00453709d055a25c1afde85 (patch) | |
tree | 7976e9b1f05115812cb63efb646c32ac5a7ab6cf /tests/qemu-iotests/307 | |
parent | 8573823f3ba2b63926f82d5732473e0cd73c1213 (diff) | |
download | qemu-d21471696b07f30cb00453709d055a25c1afde85.zip qemu-d21471696b07f30cb00453709d055a25c1afde85.tar.gz qemu-d21471696b07f30cb00453709d055a25c1afde85.tar.bz2 |
iotests/307: Test iothread conflict for exports
Passing fixed-iothread=true should make iothread conflicts fatal,
whereas fixed-iothread=false should not.
Combine the second case with an error condition that is checked after
the iothread is handled, to verify that qemu does not crash if there is
such an error after changing the iothread failed.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210624083825.29224-3-mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Tested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/qemu-iotests/307')
-rwxr-xr-x | tests/qemu-iotests/307 | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/qemu-iotests/307 b/tests/qemu-iotests/307 index c768534..b429b5a 100755 --- a/tests/qemu-iotests/307 +++ b/tests/qemu-iotests/307 @@ -41,9 +41,11 @@ with iotests.FilePath('image') as img, \ iotests.log('=== Launch VM ===') vm.add_object('iothread,id=iothread0') + vm.add_object('iothread,id=iothread1') vm.add_blockdev(f'file,filename={img},node-name=file') vm.add_blockdev(f'{iotests.imgfmt},file=file,node-name=fmt') vm.add_blockdev('raw,file=file,node-name=ro,read-only=on') + vm.add_blockdev('null-co,node-name=null') vm.add_device(f'id=scsi0,driver=virtio-scsi,iothread=iothread0') vm.launch() @@ -74,6 +76,19 @@ with iotests.FilePath('image') as img, \ vm.qmp_log('query-block-exports') iotests.qemu_nbd_list_log('-k', socket) + iotests.log('\n=== Add export with conflicting iothread ===') + + vm.qmp_log('device_add', id='sdb', driver='scsi-hd', drive='null') + + # Should fail because of fixed-iothread + vm.qmp_log('block-export-add', id='export1', type='nbd', node_name='null', + iothread='iothread1', fixed_iothread=True, writable=True) + + # Should ignore the iothread conflict, but then fail because of the + # permission conflict (and not crash) + vm.qmp_log('block-export-add', id='export1', type='nbd', node_name='null', + iothread='iothread1', fixed_iothread=False, writable=True) + iotests.log('\n=== Add a writable export ===') # This fails because share-rw=off |