3 # Regression test for throttle group member unregister segfault with iothread
5 # Copyright (c) 2019 Red Hat, Inc.
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
24 from iotests
import log
26 sys
.path
.append(os
.path
.join(os
.path
.dirname(__file__
), '..', '..', 'scripts'))
28 from qemu
import QEMUMachine
30 if iotests
.qemu_default_machine
== 's390-ccw-virtio':
31 virtio_scsi_device
= 'virtio-scsi-ccw'
33 virtio_scsi_device
= 'virtio-scsi-pci'
35 vm
= QEMUMachine(iotests
.qemu_prog
)
36 vm
.add_args('-machine', 'accel=kvm')
39 log(vm
.qmp('blockdev-add', node_name
='hd0', driver
='null-co'))
40 log(vm
.qmp('object-add', qom_type
='iothread', id='iothread0'))
41 log(vm
.qmp('device_add', id='scsi0', driver
=virtio_scsi_device
, iothread
='iothread0'))
42 log(vm
.qmp('device_add', id='scsi-hd0', driver
='scsi-hd', drive
='hd0'))
43 log(vm
.qmp('block_set_io_throttle', id='scsi-hd0', bps
=0, bps_rd
=0, bps_wr
=0,
44 iops
=1000, iops_rd
=0, iops_wr
=0, conv_keys
=False))
45 log(vm
.qmp('device_del', id='scsi-hd0'))