mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-12 13:17:58 +03:00
Fix error detection in device change
According to qemu-kvm/qerror.c all messages start with a capital "Device ", but the current code only scans for the lower case "device ". This results in "virDomainUpdateDeviceFlags()" to not detect locked CD-ROMs and reporting success even in the case of a failure: # virsh qemu-monitor-command "$VM" change\ drive-ide0-0-0\ \"/var/lib/libvirt/images/ucs_2.4-0-sec4-20110714145916-dvd-amd64.iso\" Device 'drive-ide0-0-0' is locked # virsh update-device "$VM" /dev/stdin <<<"<disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file='/var/lib/libvirt/images/ucs_2.4-0-sec4-20110714145916-dvd-amd64.iso'/><target dev='hda' bus='ide'/><readonly/><alias name='ide0-0-0'/><address type='drive' controller='0' bus='0' unit='0'/></disk>" Device updated successfully Signed-off-by: Philipp Hahn <hahn@univention.de>
This commit is contained in:
parent
27c8526053
commit
4521ffabeb
@ -1081,7 +1081,7 @@ int qemuMonitorTextChangeMedia(qemuMonitorPtr mon,
|
||||
/* If the command failed qemu prints:
|
||||
* device not found, device is locked ...
|
||||
* No message is printed on success it seems */
|
||||
if (strstr(reply, "device ")) {
|
||||
if (c_strcasestr(reply, "device ")) {
|
||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||
_("could not change media on %s: %s"), devname, reply);
|
||||
goto cleanup;
|
||||
|
Loading…
Reference in New Issue
Block a user