-
Bug
-
Resolution: Done-Errata
-
Major
-
rhel-9.4
-
qemu-kvm-8.2.0-6.el9
-
Yes
-
Critical
-
Regression, CustomerScenariosInitiative
-
rhel-sst-virtualization-storage
-
ssg_virtualization
-
25
-
27
-
5
-
QE ack
-
False
-
-
None
-
Red Hat Enterprise Linux
-
None
-
Pass
-
Automated
-
-
Unspecified
-
Linux
-
None
Failed on repeatedly hotplug/unplug disks iothread enabled
It also makes guest system data corrupt and inaccessible sometimes.
Please provide the package NVR for which bug is seen:
Red Hat Enterprise Linux release 9.4 Beta (Plow)
5.14.0-363.el9.x86_64
qemu-kvm-8.1.0-1.el9.x86_64
seabios-bin-1.16.1-1.el9.noarch
edk2-ovmf-20230524-3.el9.noarch
libvirt-9.5.0-6.el9.x86_64
How reproducible:
30%
Steps to reproduce
// code placeholder 1.Boot vm /usr/libexec/qemu-kvm \ -name 'avocado-vt-vm1' \ -sandbox on \ -machine q35,memory-backend=mem-machine_mem \ -device '{"id": "pcie-root-port-0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x1", "chassis": 1}' \ -device '{"id": "pcie-pci-bridge-0", "driver": "pcie-pci-bridge", "addr": "0x0", "bus": "pcie-root-port-0"}' \ -nodefaults \ -device '{"driver": "VGA", "bus": "pcie.0", "addr": "0x2"}' \ -m 30720 \ -object '{"size": 32212254720, "id": "mem-machine_mem", "qom-type": "memory-backend-ram"}' \ -smp 10,maxcpus=10,cores=5,threads=1,dies=1,sockets=2 \ -cpu 'Cascadelake-Server',ss=on,vmx=on,pdcm=on,hypervisor=on,tsc-adjust=on,umip=on,pku=on,md-clear=on,stibp=on,flush-l1d=on,arch-capabilities=on,xsaves=on,ibpb=on,ibrs=on,amd-stibp=on,amd-ssbd=on,rdctl-no=on,ibrs-all=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,tsx-ctrl=on,fb-clear=on,hle=off,rtm=off,kvm_pv_unhalt=on \ -device '{"id": "pcie-root-port-1", "port": 1, "driver": "pcie-root-port", "addr": "0x1.0x1", "bus": "pcie.0", "chassis": 2}' \ -device '{"driver": "qemu-xhci", "id": "usb1", "bus": "pcie-root-port-1", "addr": "0x0"}' \ -device '{"driver": "usb-tablet", "id": "usb-tablet1", "bus": "usb1.0", "port": "1"}' \ -object '{"qom-type": "iothread", "id": "iothread0"}' \ -object '{"qom-type": "iothread", "id": "iothread1"}' \ -device '{"id": "pcie-root-port-2", "port": 2, "driver": "pcie-root-port", "addr": "0x1.0x2", "bus": "pcie.0", "chassis": 3}' \ -device '{"id": "virtio_scsi_pci0", "driver": "virtio-scsi-pci", "bus": "pcie-root-port-2", "addr": "0x0", "iothread": "iothread0"}' \ -blockdev '{"node-name": "file_image1", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/rhel940-64-virtio-scsi.qcow2", "cache": {"direct": true, "no-flush": false}}' \ -blockdev '{"node-name": "drive_image1", "driver": "qcow2", "read-only": false, "cache": {"direct": true, "no-flush": false}, "file": "file_image1"}' \ -device '{"driver": "scsi-hd", "id": "image1", "drive": "drive_image1", "bootindex": 0, "write-cache": "on"}' \ -device '{"id": "pcie-root-port-3", "port": 3, "driver": "pcie-root-port", "addr": "0x1.0x3", "bus": "pcie.0", "chassis": 4}' \ -device '{"driver": "virtio-net-pci", "mac": "9a:21:b2:e0:6d:4b", "id": "idwbiXqo", "netdev": "iduN1RGA", "bus": "pcie-root-port-3", "addr": "0x0"}' \ -netdev tap,id=iduN1RGA,vhost=on \ -vnc :5 \ -monitor stdio \ -qmp tcp:0:5955,server=on,wait=off \ -rtc base=utc,clock=host,driftfix=slew \ -boot menu=off,order=cdn,once=c,strict=off \ -enable-kvm \ -device '{"id": "pcie_extra_root_port_0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x3", "chassis": 5}' \ -chardev socket,id=socket-serial,path=/var/tmp/socket-serial,logfile=/var/tmp/file-serial.log,mux=on,server=on,wait=off \ -serial chardev:socket-serial \ -chardev file,path=/var/tmp/file-bios.log,id=file-bios \ -device isa-debugcon,chardev=file-bios,iobase=0x402 \ 2. hotplug disk {"execute": "device_add", "arguments":{"id": "virtio_scsi_pci1", "driver": "virtio-scsi-pci", "bus": "pcie_extra_root_port_0", "addr": "0x0", "iothread": "iothread1"}, "id": "MSVjNpxq"} {"execute": "blockdev-add", "arguments": {"node-name": "file_stg0", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/storage0.qcow2", "cache": {"direct": true, "no-flush": false}}, "id": "uNRhq5lR"} {"execute": "blockdev-add", "arguments": {"node-name": "drive_stg0", "driver": "qcow2", "read-only": false, "cache":{"direct": true, "no-flush": false}, "file": "file_stg0"}, "id": "VtvrjLkH"} {"execute": "device_add", "arguments": {"driver": "scsi-hd", "id": "stg0", "bus": "virtio_scsi_pci1.0", "drive": "drive_stg0", "write-cache": "on"} , "id": "pWLotHhW"} 3. check the disk in guest,should added lsblk 4. unplug disk {"execute": "device_del", "arguments":{"id": "stg0"}, "id": "R81C1q8p"} {"execute": "blockdev-del", "arguments":{"node-name": "drive_stg0"}, "id": "EAiI2LVe"} {"execute": "blockdev-del", "arguments":{"node-name": "file_stg0"}, "id": "IJRbWqTG"} {"execute": "device_del", "arguments":{"id": "virtio_scsi_pci1"}, "id": "w6mivmt2"} 5. check the disk in guest, should deleted lsblk 6. repeat steps 2-5 100times
Expected results
disk hotplug/unplug succeed and the guest may check then existence.
Actual results
hotplug fail, or os crash.
Not hit this issue on
qemu-kvm-8.0.0-13.el9.x86_64
Not hit this issue without iothread
- links to
-
RHBA-2023:121202 qemu-kvm bug fix and enhancement update