qemu/hw/core
Markus Armbruster 9b3d111ad9 hw: Propagate errors through qdev_prop_set_drive()
Three kinds of callers:

1. On failure, report the error and abort

   Passing &error_abort does the job.  No functional change.

2. On failure, report the error and exit()

   This is qdev_prop_set_drive_nofail().  Error reporting moves from
   qdev_prop_set_drive() to its caller.  Because hiding away the error
   in the monitor right before exit() isn't helpful, replace
   qerror_report_err() by error_report_err().  Shouldn't make a
   difference, because qdev_prop_set_drive_nofail() should never be
   used in QMP context.

3. On failure, report the error and recover

   This is usb_msd_init() and scsi_bus_legacy_add_drive().  Error
   reporting and freeing the error object moves from
   qdev_prop_set_drive() to its callers.

   Because usb_msd_init() can't run in QMP context, replace
   qerror_report_err() by error_report_err() there.

   No functional change.

   scsi_bus_legacy_add_drive() calling qerror_report_err() is of
   course inappropriate, but this commit merely makes it more obvious.
   The next one will clean it up.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Message-Id: <1425925048-15482-3-git-send-email-armbru@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-03-10 11:18:23 +01:00
..
empty_slot.c empty_slot: QOM cast cleanup 2013-07-29 21:06:37 +02:00
fw-path-provider.c fw_cfg: fix typos in comments: patch -> path 2015-02-10 09:27:19 +03:00
hotplug.c qdev: HotplugHandler: Provide unplug callback 2014-10-15 05:03:13 +02:00
irq.c irq: Remove qemu_irq_intercept_out 2014-10-23 16:41:25 +02:00
loader.c hmp: Name HMP info handler functions hmp_info_SUBCOMMAND() 2015-02-18 11:58:50 +01:00
machine.c hw/machine: added machine_usb wrapper 2015-01-08 17:32:27 +00:00
Makefile.objs Create specific config option for "platform-bus" 2015-02-27 15:17:42 +01:00
nmi.c cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
null-machine.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
platform-bus.c sysbus: Add new platform bus helper device 2014-11-04 23:26:14 +01:00
ptimer.c vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
qdev-properties-system.c hw: Propagate errors through qdev_prop_set_drive() 2015-03-10 11:18:23 +01:00
qdev-properties.c qdev: Don't exit when running into bad -global 2015-02-26 12:42:18 +01:00
qdev.c pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
stream.c stream: Remove app argument hack 2013-04-16 10:04:23 +02:00
sysbus.c sysbus: Expose MMIO enumeration helper 2014-11-04 23:26:14 +01:00
uboot_image.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00