Bug 1733920
| Summary: | Failed to insert media for -blockdev enabled cdrom | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Han Han <hhan> | ||||
| Component: | qemu-kvm | Assignee: | Kevin Wolf <kwolf> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Xueqiang Wei <xuwei> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 8.1 | CC: | aliang, coli, ddepaula, dyuan, jgao, juzhang, pkrempa, virt-maint, xuzhang | ||||
| Target Milestone: | rc | Flags: | knoel:
mirror+
|
||||
| Target Release: | 8.0 | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | qemu-kvm-4.1.0-1.module+el8.1.0+3966+4a23dca1 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2019-11-06 07:17:49 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: | |||||||
| Attachments: |
|
||||||
|
Description
Han Han
2019-07-29 08:28:25 UTC
Hi Hanhan, Have you run command "blockdev-open-tray" before insert medium (blockdev-insert-medium)? (In reply to Xueqiang Wei from comment #1) > Hi Hanhan, > > Have you run command "blockdev-open-tray" before insert medium > (blockdev-insert-medium)? Yes. Libvirt called "blockdev-open-tray". Here is the qmp log from vm start to update device: 2019-07-29 09:25:18.877+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qmp_capabilities","id":"libvirt-1"} 2019-07-29 09:25:18.949+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qmp_capabilities","id":"libvirt-1"} 2019-07-29 09:25:19.006+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"query-migrate-capabilities","id":"libvirt-2"} 2019-07-29 09:25:19.007+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"query-migrate-capabilities","id":"libvirt-2"} 2019-07-29 09:25:19.008+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"migrate-set-capabilities","arguments":{"capabilities":[{"capability":"events","state":true}]},"id":"libvirt-3"} 2019-07-29 09:25:19.008+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"migrate-set-capabilities","arguments":{"capabilities":[{"capability":"events","state":true}]},"id":"libvirt-3"} 2019-07-29 09:25:19.008+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"query-chardev","id":"libvirt-4"} 2019-07-29 09:25:19.009+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"query-chardev","id":"libvirt-4"} 2019-07-29 09:25:19.009+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-list","arguments":{"path":"/machine/unattached/device[0]"},"id":"libvirt-5"} 2019-07-29 09:25:19.009+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-list","arguments":{"path":"/machine/unattached/device[0]"},"id":"libvirt-5"} 2019-07-29 09:25:19.013+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-get","arguments":{"path":"/machine/unattached/device[0]","property":"feature-words"},"id":"libvirt-6"} 2019-07-29 09:25:19.013+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-get","arguments":{"path":"/machine/unattached/device[0]","property":"feature-words"},"id":"libvirt-6"} 2019-07-29 09:25:19.015+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-get","arguments":{"path":"/machine/unattached/device[0]","property":"filtered-features"},"id":"libvirt-7"} 2019-07-29 09:25:19.015+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-get","arguments":{"path":"/machine/unattached/device[0]","property":"filtered-features"},"id":"libvirt-7"} 2019-07-29 09:25:19.017+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"query-hotpluggable-cpus","id":"libvirt-8"} 2019-07-29 09:25:19.017+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"query-hotpluggable-cpus","id":"libvirt-8"} 2019-07-29 09:25:19.017+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"query-cpus-fast","id":"libvirt-9"} 2019-07-29 09:25:19.017+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"query-cpus-fast","id":"libvirt-9"} 2019-07-29 09:25:19.018+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"query-iothreads","id":"libvirt-10"} 2019-07-29 09:25:19.018+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"query-iothreads","id":"libvirt-10"} 2019-07-29 09:25:19.024+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"balloon","arguments":{"value":1073741824},"id":"libvirt-11"} 2019-07-29 09:25:19.024+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"balloon","arguments":{"value":1073741824},"id":"libvirt-11"} 2019-07-29 09:25:19.025+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"query-balloon","id":"libvirt-12"} 2019-07-29 09:25:19.025+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"query-balloon","id":"libvirt-12"} 2019-07-29 09:25:19.026+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-list","arguments":{"path":"/machine/peripheral"},"id":"libvirt-13"} 2019-07-29 09:25:19.026+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-list","arguments":{"path":"/machine/peripheral"},"id":"libvirt-13"} 2019-07-29 09:25:19.027+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-list","arguments":{"path":"/machine/peripheral"},"id":"libvirt-14"} 2019-07-29 09:25:19.027+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-list","arguments":{"path":"/machine/peripheral"},"id":"libvirt-14"} 2019-07-29 09:25:19.028+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-get","arguments":{"path":"/machine/peripheral/video0","property":"vram_size"},"id":"libvirt-15"} 2019-07-29 09:25:19.028+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-get","arguments":{"path":"/machine/peripheral/video0","property":"vram_size"},"id":"libvirt-15"} 2019-07-29 09:25:19.029+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-get","arguments":{"path":"/machine/peripheral/video0","property":"ram_size"},"id":"libvirt-16"} 2019-07-29 09:25:19.029+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-get","arguments":{"path":"/machine/peripheral/video0","property":"ram_size"},"id":"libvirt-16"} 2019-07-29 09:25:19.030+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-get","arguments":{"path":"/machine/peripheral/video0","property":"vgamem_mb"},"id":"libvirt-17"} 2019-07-29 09:25:19.030+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-get","arguments":{"path":"/machine/peripheral/video0","property":"vgamem_mb"},"id":"libvirt-17"} 2019-07-29 09:25:19.030+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"qom-list","arguments":{"path":"/machine/peripheral"},"id":"libvirt-18"} 2019-07-29 09:25:19.030+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"qom-list","arguments":{"path":"/machine/peripheral"},"id":"libvirt-18"} 2019-07-29 09:25:19.032+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"query-block","id":"libvirt-19"} 2019-07-29 09:25:19.032+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"query-block","id":"libvirt-19"} 2019-07-29 09:25:19.033+0000: 19389: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"cont","id":"libvirt-20"} 2019-07-29 09:25:19.033+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"cont","id":"libvirt-20"} 2019-07-29 09:27:27.189+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"blockdev-open-tray","arguments":{"id":"scsi0-0-0-0","force":false},"id":"libvirt-21"} 2019-07-29 09:27:27.189+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"blockdev-open-tray","arguments":{"id":"scsi0-0-0-0","force":false},"id":"libvirt-21"} 2019-07-29 09:27:27.192+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"blockdev-remove-medium","arguments":{"id":"scsi0-0-0-0"},"id":"libvirt-22"} 2019-07-29 09:27:27.192+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"blockdev-remove-medium","arguments":{"id":"scsi0-0-0-0"},"id":"libvirt-22"} 2019-07-29 09:27:27.192+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"blockdev-add","arguments":{"driver":"file","filename":"/var/lib/libvirt/images/el7.iso","node-name":"libvirt-3-storage","read-only":true,"discard":"unmap"},"id":"libvirt-23"} 2019-07-29 09:27:27.192+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"blockdev-add","arguments":{"driver":"file","filename":"/var/lib/libvirt/images/el7.iso","node-name":"libvirt-3-storage","read-only":true,"discard":"unmap"},"id":"libvirt-23"} 2019-07-29 09:27:27.194+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"blockdev-add","arguments":{"node-name":"libvirt-3-format","read-only":true,"driver":"raw","file":"libvirt-3-storage"},"id":"libvirt-24"} 2019-07-29 09:27:27.194+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"blockdev-add","arguments":{"node-name":"libvirt-3-format","read-only":true,"driver":"raw","file":"libvirt-3-storage"},"id":"libvirt-24"} 2019-07-29 09:27:27.195+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"blockdev-insert-medium","arguments":{"id":"scsi0-0-0-0","node-name":"libvirt-3-format"},"id":"libvirt-25"} 2019-07-29 09:27:27.195+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"blockdev-insert-medium","arguments":{"id":"scsi0-0-0-0","node-name":"libvirt-3-format"},"id":"libvirt-25"} 2019-07-29 09:27:27.196+0000: 19391: debug : qemuMonitorJSONCheckError:381 : unable to execute QEMU command {"execute":"blockdev-insert-medium","arguments":{"id":"scsi0-0-0-0","node-name":"libvirt-3-format"},"id":"libvirt-25"}: {"id":"libvirt-25","error":{"class":"GenericError","desc":"Block node is read-only"}} 2019-07-29 09:27:27.196+0000: 19391: error : qemuMonitorJSONCheckError:392 : internal error: unable to execute QEMU command 'blockdev-insert-medium': Block node is read-only 2019-07-29 09:27:27.196+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"blockdev-del","arguments":{"node-name":"libvirt-3-format"},"id":"libvirt-26"} 2019-07-29 09:27:27.196+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"blockdev-del","arguments":{"node-name":"libvirt-3-format"},"id":"libvirt-26"} 2019-07-29 09:27:27.197+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"blockdev-del","arguments":{"node-name":"libvirt-3-storage"},"id":"libvirt-27"} 2019-07-29 09:27:27.197+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"blockdev-del","arguments":{"node-name":"libvirt-3-storage"},"id":"libvirt-27"} 2019-07-29 09:27:27.222+0000: 19391: info : qemuMonitorSend:1072 : QEMU_MONITOR_SEND_MSG: mon=0x7f4130054920 msg={"execute":"object-del","arguments":{"id":"pr-helper0"},"id":"libvirt-28"} 2019-07-29 09:27:27.222+0000: 19387: info : qemuMonitorIOWrite:546 : QEMU_MONITOR_IO_WRITE: mon=0x7f4130054920 buf={"execute":"object-del","arguments":{"id":"pr-helper0"},"id":"libvirt-28"} 2019-07-29 09:27:27.223+0000: 19391: debug : qemuMonitorJSONCheckError:381 : unable to execute QEMU command {"execute":"object-del","arguments":{"id":"pr-helper0"},"id":"libvirt-28"}: {"id":"libvirt-28","error":{"class":"GenericError","desc":"object 'pr-helper0' not found"}} 2019-07-29 09:27:27.223+0000: 19391: error : qemuMonitorJSONCheckError:392 : internal error: unable to execute QEMU command 'object-del': object 'pr-helper0' not found I think I reproduced it in qemu side.
Details:
kernel-4.18.0-122.el8.x86_64
qemu-kvm-4.0.0-6.module+el8.1.0+3736+a2aefea3
1. boot guest with scsi-cd without file, not dummy image.
/usr/libexec/qemu-kvm \
-S \
-name 'avocado-vt-vm1' \
-sandbox off \
-machine q35 \
-nodefaults \
-device VGA,bus=pcie.0,addr=0x1 \
-device pcie-root-port,id=pcie_root_port_0,slot=2,chassis=2,addr=0x2,bus=pcie.0 \
-device pcie-root-port,id=pcie_root_port_1,slot=3,chassis=3,addr=0x3,bus=pcie.0 \
-device pcie-root-port,id=pcie_root_port_2,slot=4,chassis=4,addr=0x4,bus=pcie.0 \
-chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/avocado_w2u90exl/monitor-qmpmonitor1-20181127-024837-wdAVx2FL,server,nowait \
-mon chardev=qmp_id_qmpmonitor1,mode=control \
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/avocado_w2u90exl/monitor-catch_monitor-20181127-024837-wdAVx2FL,server,nowait \
-mon chardev=qmp_id_catch_monitor,mode=control \
-device pvpanic,ioport=0x505,id=idulvcka \
-chardev socket,id=serial_id_serial0,path=/var/tmp/avocado_w2u90exl/serial-serial0-20181127-024837-wdAVx2FL,server,nowait \
-device isa-serial,chardev=serial_id_serial0 \
-chardev socket,id=seabioslog_id_20181127-024837-wdAVx2FL,path=/var/tmp/avocado_w2u90exl/seabios-20181127-024837-wdAVx2FL,server,nowait \
-device isa-debugcon,chardev=seabioslog_id_20181127-024837-wdAVx2FL,iobase=0x402 \
-device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \
-device qemu-xhci,id=usb1,bus=pcie.0-root-port-5,addr=0x0 \
-object iothread,id=iothread0 \
-object iothread,id=iothread1 \
-device pcie-root-port,id=pcie.0-root-port-6,slot=6,chassis=6,addr=0x6,bus=pcie.0 \
-device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie.0-root-port-6,iothread=iothread0,addr=0x0 \
-blockdev driver=file,cache.direct=off,cache.no-flush=on,filename=/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2,node-name=my_file \
-blockdev driver=qcow2,node-name=my,file=my_file \
-device scsi-hd,drive=my,bus=virtio_scsi_pci0.0 \
-blockdev driver=file,cache.direct=off,cache.no-flush=on,filename=/home/kvm_autotest_root/images/data.qcow2,node-name=data_disk \
-blockdev driver=qcow2,node-name=disk1,file=data_disk \
-device scsi-hd,drive=disk1,bus=virtio_scsi_pci0.0,ver=mike \
-device pcie-root-port,id=pcie.0-root-port-7,slot=7,chassis=7,addr=0x7,bus=pcie.0 \
-device virtio-net-pci,mac=9a:34:35:36:37:38,id=idyb3F88,vectors=4,netdev=idTAFS0s,bus=pcie.0-root-port-7,addr=0x0 \
-netdev tap,id=idTAFS0s,vhost=on \
-smp 12,maxcpus=12,cores=6,threads=1,sockets=2 \
-m 15360 \
-cpu 'Opteron_G5',+kvm_pv_unhalt \
-device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
-vnc :0 \
-rtc base=localtime,clock=host,driftfix=slew \
-boot order=cdn,once=c,menu=off,strict=off \
-enable-kvm \
-monitor stdio \
-spice port=8001,disable-ticketing \
-qmp tcp:0:4444,server,nowait \
**********************************************************************************
-device pcie-root-port,id=pcie.0-root-port-9,slot=9,chassis=9,addr=0x9,bus=pcie.0 \
-device virtio-scsi-pci,id=virtio_scsi_pci1,bus=pcie.0-root-port-9,addr=0x0 \
-device scsi-cd,bus=virtio_scsi_pci1.0,id=none \
**********************************************************************************
2. Try to remove medium vim qmp. After step 2, hit this issue.
(reference: https://github.com/qemu/qemu/blob/master/tests/qemu-iotests/118)
# telnet localhost 4444
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
{"QMP": {"version": {"qemu": {"micro": 0, "minor": 0, "major": 4}, "package": "qemu-kvm-4.0.0-6.module+el8.1.0+3736+a2aefea3"}, "capabilities": ["oob"]}}
{"execute":"qmp_capabilities"}
{"return": {}}
{"execute":"blockdev-open-tray","arguments":{"id":"none"}}
{"timestamp": {"seconds": 1564468817, "microseconds": 622273}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "", "tray-open": true, "id": "none"}}
{"return": {}}
{"execute":"blockdev-remove-medium","arguments":{"id":"none"}}
{"return": {}}
{"execute": "blockdev-add","arguments": {"node-name": "file_none","driver": "file", "filename": "/home/kvm_autotest_root/iso/windows/winutils.iso","read-only": true}}
{"return": {}}
{"execute": "blockdev-add","arguments": {"node-name": "drive_none","driver":"raw","file":"file_none","read-only": true}}
{"return": {}}
{"execute":"blockdev-insert-medium","arguments":{"id":"none","node-name":"drive_none"}}
{"error": {"class": "GenericError", "desc": "Block node is read-only"}}
Additional info:
try with below steps, insert-medium works well:
1. boot guest with full scsi-cd cmd lines:
-device pcie-root-port,id=pcie.0-root-port-9,slot=9,chassis=9,addr=0x9,bus=pcie.0 \
-device virtio-scsi-pci,id=virtio_scsi_pci1,bus=pcie.0-root-port-9,addr=0x0 \
-blockdev driver=file,cache.direct=off,cache.no-flush=on,filename=/home/kvm_autotest_root/iso/windows/winutils.iso,node-name=cd_disk1,read-only=on \
-blockdev driver=raw,node-name=cd1,file=cd_disk1,read-only=on \
-device scsi-cd,drive=cd1,bus=virtio_scsi_pci1.0,id=cd_disk1 \
2. run below cmds, all work well
# telnet localhost 4444
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
{"QMP": {"version": {"qemu": {"micro": 0, "minor": 0, "major": 4}, "package": "qemu-kvm-4.0.0-6.module+el8.1.0+3736+a2aefea3"}, "capabilities": ["oob"]}}
{"execute":"qmp_capabilities"}
{"return": {}}
{"execute": "query-block"}
{"return": [{"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 21474836480, "filename": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 4701032448, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "my", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[3]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 2147483648, "filename": "/home/kvm_autotest_root/images/data.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 200704, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "disk1", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/data.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[4]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": true, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 2936563712, "filename": "/home/kvm_autotest_root/iso/windows/winutils.iso", "format": "raw", "actual-size": 2942337024, "dirty-flag": false}, "iops_wr": 0, "ro": true, "node-name": "cd1", "backing_file_depth": 0, "drv": "raw", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/iso/windows/winutils.iso", "encryption_key_missing": false}, "qdev": "cd_disk1", "tray_open": false, "type": "unknown"}]}
{"execute":"blockdev-open-tray","arguments":{"id":"cd_disk1"}}
{"timestamp": {"seconds": 1564473181, "microseconds": 31563}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "", "tray-open": true, "id": "cd_disk1"}}
{"return": {}}
{"execute":"blockdev-remove-medium","arguments":{"id":"cd_disk1"}}
{"return": {}}
{"execute": "query-block"}
{"return": [{"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 21474836480, "filename": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 4701032448, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "my", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[3]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 2147483648, "filename": "/home/kvm_autotest_root/images/data.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 200704, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "disk1", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/data.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[4]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": true, "qdev": "cd_disk1", "tray_open": true, "type": "unknown"}]}
{"execute":"blockdev-insert-medium","arguments":{"id":"cd_disk1","node-name":"cd1"}}
{"return": {}}
{"execute": "query-block"}
{"return": [{"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 21474836480, "filename": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 4701032448, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "my", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[3]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 2147483648, "filename": "/home/kvm_autotest_root/images/data.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 200704, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "disk1", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/data.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[4]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": true, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 2936563712, "filename": "/home/kvm_autotest_root/iso/windows/winutils.iso", "format": "raw", "actual-size": 2942337024, "dirty-flag": false}, "iops_wr": 0, "ro": true, "node-name": "cd1", "backing_file_depth": 0, "drv": "raw", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/iso/windows/winutils.iso", "encryption_key_missing": false}, "qdev": "cd_disk1", "tray_open": true, "type": "unknown"}]}
{"execute":"blockdev-change-medium","arguments":{"id": "cd_disk1","filename": "/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-172.iso", "format": "raw"}}
{"timestamp": {"seconds": 1564473424, "microseconds": 301642}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "", "tray-open": false, "id": "cd_disk1"}}
{"return": {}}
{"execute": "query-block"}
{"return": [{"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 21474836480, "filename": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 4701032448, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "my", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[3]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 2147483648, "filename": "/home/kvm_autotest_root/images/data.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 200704, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "disk1", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/images/data.qcow2", "encryption_key_missing": false}, "qdev": "/machine/peripheral-anon/device[4]", "type": "unknown"}, {"io-status": "ok", "device": "", "locked": false, "removable": true, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 680312832, "filename": "/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-172.iso", "format": "raw", "actual-size": 681652224, "dirty-flag": false}, "iops_wr": 0, "ro": true, "node-name": "#block131", "backing_file_depth": 0, "drv": "raw", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-172.iso", "encryption_key_missing": false}, "qdev": "cd_disk1", "tray_open": false, "type": "unknown"}]}
I think blockdev-insert-medium should combine with blockdev-add, I will cover this scenario.
Also hit it on slow train: qemu-kvm-2.12.0-83.module+el8.1.0+3852+0ba8aef0, but according to https://bugzilla.redhat.com/show_bug.cgi?id=1738377#c2, not clone it to slow train. Tested with qemu-kvm-4.1.0-1.module+el8.1.0+3966+4a23dca1, not hit this issue. So set status to VERIFIED.
Details:
Version:
kernel-4.18.0-131.el8.x86_64
qemu-kvm-4.1.0-1.module+el8.1.0+3966+4a23dca1
1. boot guest with scsi-cd without file, not dummy image.
/usr/libexec/qemu-kvm \
-S \
-name 'avocado-vt-vm1' \
-sandbox off \
-machine q35 \
-nodefaults \
-device VGA,bus=pcie.0,addr=0x1 \
-device pcie-root-port,id=pcie_root_port_0,slot=2,chassis=2,addr=0x2,bus=pcie.0 \
-device pcie-root-port,id=pcie_root_port_1,slot=3,chassis=3,addr=0x3,bus=pcie.0 \
-device pcie-root-port,id=pcie_root_port_2,slot=4,chassis=4,addr=0x4,bus=pcie.0 \
-chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/avocado_w2u90exl/monitor-qmpmonitor1-20181127-024837-wdAVx2FL,server,nowait \
-mon chardev=qmp_id_qmpmonitor1,mode=control \
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/avocado_w2u90exl/monitor-catch_monitor-20181127-024837-wdAVx2FL,server,nowait \
-mon chardev=qmp_id_catch_monitor,mode=control \
-device pvpanic,ioport=0x505,id=idulvcka \
-chardev socket,id=serial_id_serial0,path=/var/tmp/avocado_w2u90exl/serial-serial0-20181127-024837-wdAVx2FL,server,nowait \
-device isa-serial,chardev=serial_id_serial0 \
-chardev socket,id=seabioslog_id_20181127-024837-wdAVx2FL,path=/var/tmp/avocado_w2u90exl/seabios-20181127-024837-wdAVx2FL,server,nowait \
-device isa-debugcon,chardev=seabioslog_id_20181127-024837-wdAVx2FL,iobase=0x402 \
-device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \
-device qemu-xhci,id=usb1,bus=pcie.0-root-port-5,addr=0x0 \
-object iothread,id=iothread0 \
-object iothread,id=iothread1 \
-device pcie-root-port,id=pcie.0-root-port-6,slot=6,chassis=6,addr=0x6,bus=pcie.0 \
-device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie.0-root-port-6,iothread=iothread0,addr=0x0 \
-blockdev driver=file,cache.direct=off,cache.no-flush=on,filename=/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2,node-name=my_file \
-blockdev driver=qcow2,node-name=my,file=my_file \
-device scsi-hd,drive=my,bus=virtio_scsi_pci0.0 \
-blockdev driver=file,cache.direct=off,cache.no-flush=on,filename=/home/kvm_autotest_root/images/data.qcow2,node-name=data_disk \
-blockdev driver=qcow2,node-name=disk1,file=data_disk \
-device scsi-hd,drive=disk1,bus=virtio_scsi_pci0.0,ver=mike \
-device pcie-root-port,id=pcie.0-root-port-7,slot=7,chassis=7,addr=0x7,bus=pcie.0 \
-device virtio-net-pci,mac=9a:34:35:36:37:38,id=idyb3F88,vectors=4,netdev=idTAFS0s,bus=pcie.0-root-port-7,addr=0x0 \
-netdev tap,id=idTAFS0s,vhost=on \
-smp 12,maxcpus=12,cores=6,threads=1,sockets=2 \
-m 15360 \
-cpu 'SandyBridge',hv_stimer,hv_synic,hv_vpindex,hv_reset,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv-tlbflush,+kvm_pv_unhalt \
-device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
-vnc :0 \
-rtc base=localtime,clock=host,driftfix=slew \
-boot order=cdn,once=c,menu=off,strict=off \
-enable-kvm \
-monitor stdio \
-spice port=8001,disable-ticketing \
-qmp tcp:0:4444,server,nowait \
**********************************************************************************
-device pcie-root-port,id=pcie.0-root-port-9,slot=9,chassis=9,addr=0x9,bus=pcie.0 \
-device virtio-scsi-pci,id=virtio_scsi_pci1,bus=pcie.0-root-port-9,addr=0x0 \
-device scsi-cd,bus=virtio_scsi_pci1.0,id=none \
**********************************************************************************
2. run below cmds, all work well
# telnet localhost 4444
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
{"QMP": {"version": {"qemu": {"micro": 94, "minor": 0, "major": 4}, "package": "qemu-kvm-4.1.0-1.module+el8.1.0+3966+4a23dca1"}, "capabilities": ["oob"]}}
{"execute":"qmp_capabilities"}
{"return": {}}
{"execute":"blockdev-open-tray","arguments":{"id":"none"}}
{"timestamp": {"seconds": 1566209677, "microseconds": 968444}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "", "tray-open": true, "id": "none"}}
{"return": {}}
{"execute":"blockdev-remove-medium","arguments":{"id":"none"}}
{"return": {}}
{"execute": "blockdev-add","arguments": {"node-name": "file_none","driver": "file", "filename": "/home/kvm_autotest_root/iso/windows/winutils.iso","read-only": true}}
{"return": {}}
{"execute": "blockdev-add","arguments": {"node-name": "drive_none","driver":"raw","file":"file_none","read-only": true}}
{"return": {}}
{"execute":"blockdev-insert-medium","arguments":{"id":"none","node-name":"drive_none"}}
{"return": {}}
{"execute": "query-block"}
{"io-status": "ok", "device": "", "locked": false, "removable": true, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 2936563712, "filename": "/home/kvm_autotest_root/iso/windows/winutils.iso", "format": "raw", "actual-size": 2942337024, "dirty-flag": false}, "iops_wr": 0, "ro": true, "node-name": "drive_none", "backing_file_depth": 0, "drv": "raw", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/iso/windows/winutils.iso", "encryption_key_missing": false}, "qdev": "none", "tray_open": true, "type": "unknown"}
{"execute": "blockdev-close-tray", "arguments": {"id": "none"}}
{"timestamp": {"seconds": 1566210624, "microseconds": 454200}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "", "tray-open": false, "id": "none"}}
{"return": {}}
{"execute":"blockdev-change-medium","arguments":{"id": "none","filename": "/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-172.iso", "format": "raw"}}
{"timestamp": {"seconds": 1566209941, "microseconds": 126985}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "", "tray-open": true, "id": "none"}}
{"timestamp": {"seconds": 1566209941, "microseconds": 129343}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "", "tray-open": false, "id": "none"}}
{"return": {}}
{"execute": "query-block"}
{"io-status": "ok", "device": "", "locked": false, "removable": true, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 680312832, "filename": "/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-172.iso", "format": "raw", "actual-size": 681652224, "dirty-flag": false}, "iops_wr": 0, "ro": true, "node-name": "#block123", "backing_file_depth": 0, "drv": "raw", "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 0, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-172.iso", "encryption_key_missing": false}, "qdev": "none", "tray_open": false, "type": "unknown"}
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-2019:3723 |