Bug 1607891
| Summary: | Hotplug events are sometimes lost with virtio-scsi + iothread | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Stefan Hajnoczi <stefanha> |
| Component: | qemu-kvm-rhev | Assignee: | Stefan Hajnoczi <stefanha> |
| Status: | CLOSED ERRATA | QA Contact: | Xueqiang Wei <xuwei> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.6 | CC: | aliang, areis, chayang, coli, juzhang, michen, mrezanin, ngu, pbonzini, phou, qzhang, stefanha, virt-maint, xuwei, yhong |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-rhev-2.12.0-9.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-11-01 11:13:00 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Stefan Hajnoczi
2018-07-24 13:49:31 UTC
Fix included in qemu-kvm-rhev-2.12.0-9.el7 Try 2000 times, not hit this issue.
Details as below:
Host:
kernel-3.10.0-918.el7.x86_64
qemu-kvm-rhev-2.12.0-7.el7
Guest:
kernel-3.10.0-918.el7.x86_64
1. boot guest with "object iothread,id=iothread0"
/usr/libexec/qemu-kvm \
-S \
-name 'avocado-vt-vm1' \
-sandbox off \
-machine pc \
-nodefaults \
-device VGA,bus=pci.0,addr=0x2 \
-chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/avocado_auaALh/monitor-qmpmonitor1-20180801-085320-iplJpwMp,server,nowait \
-mon chardev=qmp_id_qmpmonitor1,mode=control \
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/avocado_auaALh/monitor-catch_monitor-20180801-085320-iplJpwMp,server,nowait \
-mon chardev=qmp_id_catch_monitor,mode=control \
-device pvpanic,ioport=0x505,id=idgWxBuj \
-chardev socket,id=serial_id_serial0,path=/var/tmp/avocado_auaALh/serial-serial0-20180801-085320-iplJpwMp,server,nowait \
-device isa-serial,chardev=serial_id_serial0 \
-chardev socket,id=seabioslog_id_20180801-085320-iplJpwMp,path=/var/tmp/avocado_auaALh/seabios-20180801-085320-iplJpwMp,server,nowait \
-device isa-debugcon,chardev=seabioslog_id_20180801-085320-iplJpwMp,iobase=0x402 \
-device nec-usb-xhci,id=usb1,bus=pci.0,addr=0x3 \
-object iothread,id=iothread0 \
-drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=none,format=qcow2,file=/home/kvm_autotest_root/images/rhel76-64-virtio.qcow2 \
-device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pci.0,addr=0x4 \
-device virtio-net-pci,mac=9a:34:35:36:37:38,id=ideUbf8k,vectors=4,netdev=idcvx3yp,bus=pci.0,addr=0x5 \
-netdev tap,id=idcvx3yp,vhost=on,vhostfd=19,fd=10 \
-m 4096 \
-smp 2,maxcpus=2,cores=1,threads=1,sockets=2 \
-cpu 'Nehalem',+kvm_pv_unhalt \
-device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
-vnc :0 \
-rtc base=utc,clock=host,driftfix=slew \
-boot menu=off,strict=off,order=cdn,once=c \
-enable-kvm
2. Hotplug a disk
{"execute":"qmp_capabilities"}
{"execute":"device_add","arguments":{"driver":"virtio-scsi-pci","id":"virtio_scsi_pci0","iothread":"iothread0"}}
{"execute":"__com.redhat_drive_add", "arguments":
{"file":"/home/kvm_autotest_root/images/storage0.raw","format":"raw","id":"drive_stg0","snapshot":"off","aio":"threads","cache":"none"}}
{"execute":"device_add","arguments":{"driver":"scsi-hd","drive":"drive_stg0","id":"stg0"}}
3. dd test on new added disk
# dd if=/dev/sda of=/dev/null bs=1k count=1000 iflag=direct && dd if=/dev/zero of=/dev/sda bs=1k count=1000 oflag=direct
4. unplug the disk
{"execute": "device_del", "arguments": {"id": "stg0"}}
{"execute": "device_del", "arguments": {"id": "virtio_scsi_pci0"}}
5. repeat 2-4 2000 times
After step 5, not hit this issue.
For reproduce bug, the test steps are OK ?
Is it necessary to set system disk to virtio-scsi, in my steps I used virtio-blk for system disk.
Use the same environment mentioned in Comment 6, try 5000 times with below steps, not hit this issue. 1. Start a Linux guest with -object iothread -device virtio-scsi-pci,iothread=iothread0 2. Hotplug a disk using drive_add + device_add scsi-hd (or equivalent QMP commands) 3. If the disk appears inside the guest (check /dev/sdX), go to Step 2 again Try 10000 times with below steps, not hit this issue. So verify the bug. Version: kernel-3.10.0-933.el7.x86_64 qemu-kvm-rhev-2.12.0-10.el7 Steps: 1. Start a Linux guest with -object iothread -device virtio-scsi-pci,iothread=iothread0 2. Hotplug a disk using drive_add + device_add scsi-hd (or equivalent QMP commands) 3. If the disk appears inside the guest (check /dev/sdX), go to Step 2 again Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:3443 |