qemu/hw
Markus Armbruster dcfe480544 error: Avoid unnecessary error_propagate() after error_setg()
Replace

    error_setg(&err, ...);
    error_propagate(errp, err);

by

    error_setg(errp, ...);

Related pattern:

    if (...) {
        error_setg(&err, ...);
        goto out;
    }
    ...
 out:
    error_propagate(errp, err);
    return;

When all paths to label out are that way, replace by

    if (...) {
        error_setg(errp, ...);
        return;
    }

and delete the label along with the error_propagate().

When we have at most one other path that actually needs to propagate,
and maybe one at the end that where propagation is unnecessary, e.g.

    foo(..., &err);
    if (err) {
        goto out;
    }
    ...
    bar(..., &err);
 out:
    error_propagate(errp, err);
    return;

move the error_propagate() to where it's needed, like

    if (...) {
        foo(..., &err);
        error_propagate(errp, err);
        return;
    }
    ...
    bar(..., errp);
    return;

and transform the error_setg() as above.

In some places, the transformation results in obviously unnecessary
error_propagate().  The next few commits will eliminate them.

Bonus: the elimination of gotos will make later patches in this series
easier to review.

Candidates for conversion tracked down with this Coccinelle script:

    @@
    identifier err, errp;
    expression list args;
    @@
    -    error_setg(&err, args);
    +    error_setg(errp, args);
         ... when != err
         error_propagate(errp, err);

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200707160613.848843-34-armbru@redhat.com>
2020-07-10 15:18:08 +02:00
..
9pfs Clean up some calls to ignore Error objects the right way 2020-07-02 06:25:28 +02:00
acpi error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
adc hw/adc/stm32f2xx_adc: Correct memory region size and access size 2020-06-05 17:23:09 +01:00
alpha sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
arm qom: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
audio audio: set default value for pcspk.iobase property 2020-07-06 17:01:11 +02:00
block qom: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
char qdev: Use returned bool to check for qdev_realize() etc. failure 2020-07-10 15:01:06 +02:00
core qdev: Make functions taking Error ** return bool, not void 2020-07-10 15:18:08 +02:00
cpu qapi: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
cris sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
display qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
dma qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
gpio qom: Don't handle impossible object_property_get_link() failure 2020-07-10 15:18:08 +02:00
hppa sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
hyperv error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
i2c hw/i2c/core: Add i2c_try_create_slave() and i2c_realize_and_unref() 2020-06-26 14:30:28 +01:00
i386 error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
ide qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
input adb: add ADB bus trace events 2020-06-26 10:13:52 +01:00
intc qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
ipack qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
ipmi various: Remove unnecessary OBJECT() cast 2020-05-15 07:08:14 +02:00
isa qdev: Use returned bool to check for qdev_realize() etc. failure 2020-07-10 15:01:06 +02:00
lm32 sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
m68k qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mem error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
microblaze qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mips qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
misc error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
moxie hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
net qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
nios2 sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
nubus hw: Remove unnecessary DEVICE() cast 2020-05-15 07:08:52 +02:00
nvram hw/nvram/fw_cfg: Add the FW_CFG_DATA_GENERATOR interface 2020-07-03 18:16:01 +02:00
openrisc sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
pci qdev: Drop qbus_set_hotplug_handler() parameter @errp 2020-07-02 06:25:29 +02:00
pci-bridge sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
pci-host qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
pcmcia sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
ppc error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
rdma lockable: Replace locks with lock guard macros 2020-05-04 16:07:43 +01:00
riscv qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
rtc sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
rx qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
s390x error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
scsi qdev: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
sd qdev: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
semihosting semihosting: remove the pthread include which seems unused 2020-06-10 11:29:44 +02:00
sh4 hw/sh4: Extract timer definitions to 'hw/timer/tmu012.h' 2020-06-22 18:37:12 +02:00
smbios qemu-option: Use returned bool to check for failure 2020-07-10 15:17:35 +02:00
sparc qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
sparc64 qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
ssi ssi: Add ssi_realize_and_unref() 2020-07-03 16:59:44 +01:00
timer hw/timer: RX62N compare match timer (CMT) 2020-06-22 18:37:12 +02:00
tpm tpm: Move backend code under the 'backends/' directory 2020-06-19 07:25:55 -04:00
tricore hw: Do not initialize MachineClass::is_default to 0 2020-02-28 14:57:19 -05:00
unicore32 hw/unicore32/puv3: Use qemu_log_mask(ERROR) instead of debug printf() 2020-06-09 19:01:56 +02:00
usb qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
vfio qapi: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
virtio qom: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
watchdog hw/watchdog/cmsdk-apb-watchdog: Add trace event for lock status 2020-06-23 11:39:47 +01:00
xen error: Avoid unnecessary error_propagate() after error_setg() 2020-07-10 15:18:08 +02:00
xenpv trivial: Remove xenfb_enabled from sysemu.h 2020-02-04 09:00:57 +01:00
xtensa qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
Kconfig hw/rx: RX62N microcontroller (MCU) 2020-06-22 18:37:12 +02:00
Makefile.objs vga: build qxl as module 2020-07-07 15:33:59 +02:00