BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1337100 Brew: 11051815 Upstream: N/A
In other error cases of this function we use error_setg, the same should be done with drive_new() failures. This is useful for libvirt to correctly detect the failure and report proper error message when a specified image is not available. This bug cames from the forward porting from qemu-kvm, at which point we overlooked the difference in QMP reporting between qerror_report and error_report. Signed-off-by: Fam Zheng <f...@redhat.com> --- device-hotplug.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/device-hotplug.c b/device-hotplug.c index 12c17e5..883346e 100644 --- a/device-hotplug.c +++ b/device-hotplug.c @@ -145,8 +145,7 @@ void simple_drive_add(QDict *qdict, QObject **ret_data, Error **errp) mc = MACHINE_GET_CLASS(current_machine); dinfo = drive_new(opts, mc->block_default_type); if (!dinfo) { - error_report(QERR_DEVICE_INIT_FAILED, - qemu_opts_id(opts)); + error_setg(errp, QERR_DEVICE_INIT_FAILED, qemu_opts_id(opts)); qemu_opts_del(opts); return; } -- 2.8.2