mirror of
https://github.com/xemu-project/xemu.git
synced 2025-01-23 20:36:16 +00:00
Error reporting patches for 2020-03-17
-----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAl5w+zkSHGFybWJydUBy ZWRoYXQuY29tAAoJEDhwtADrkYZTaeAQALPrnwX3g9/HLm2YHc1P0TB1eTenBqen K204sRW53waxzm4g9trb8P4Nzmp8r1oGmZfPriVzB3ykoW2Kzfu+4oa95+YT+exk H4XSQfCvCp1e/ZShkx5rY9Kg1gSgWhQ00MNwz8puHUsHtcp5dMTkmYqL4hzgWnA0 TwV7w06+6kLP4fRglIc5X7BVggBKosmMPfvjg/KYUe12Z3moSSQZA5dyEp5VAVl9 MNFJpryWVek6+Z8UFiQ3CMmR/H2UVI0liDlU1aZsR9pcyjiuJxrBEwboVO5qY3N7 lraKg+CVdiK7rn21bs6wAFOk08eG8VqZMeTb7HU6KJ6FIP2KopwvRXIEmNgo2C/C xU3XRl5oyRtaAOKSnwOBzEhZZ+wTRp2RcMzFS6p7URm5R3LNfB1dlqE7yE5z4lcl EgdbMLy4LiMkKwUPrVGBwzZNDO6ywVjFWUcHze9Dyb3z1ciWhwEENaIGe0CU3lhG ii+GxTzMTGoeJ2HE2hRmGTLACNt7a/we88aDY0kDLeVz5rq80oa+xckqV/oG3XpN v/imWHMugdsUwmQshUrT0JQq+BCnuwiHc82pm0X8bTqtJ6TmoIYhxuJkh040QIxt 5ymFfAMz7ysc+50JY7OEVRI/8YQPyCaZmst/D42dicWUU9NdasWcIx+kCmK3LOjj 0/Nb4vfX3xgN =vpk3 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2020-03-17' into staging Error reporting patches for 2020-03-17 # gpg: Signature made Tue 17 Mar 2020 16:30:49 GMT # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * remotes/armbru/tags/pull-error-2020-03-17: hw/sd/ssi-sd: fix error handling in ssi_sd_realize xen-block: Use one Error * variable instead of two hw/misc/ivshmem: Use one Error * variable instead of two Use &error_abort instead of separate assert() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
cf4b64406c
@ -838,10 +838,8 @@ void hmp_info_blockstats(Monitor *mon, const QDict *qdict)
|
||||
void hmp_info_block_jobs(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
BlockJobInfoList *list;
|
||||
Error *err = NULL;
|
||||
|
||||
list = qmp_query_block_jobs(&err);
|
||||
assert(!err);
|
||||
list = qmp_query_block_jobs(&error_abort);
|
||||
|
||||
if (!list) {
|
||||
monitor_printf(mon, "No active jobs\n");
|
||||
|
@ -998,29 +998,27 @@ static void xen_block_device_destroy(XenBackendInstance *backend,
|
||||
XenBlockVdev *vdev = &blockdev->props.vdev;
|
||||
XenBlockDrive *drive = blockdev->drive;
|
||||
XenBlockIOThread *iothread = blockdev->iothread;
|
||||
Error *local_err = NULL;
|
||||
|
||||
trace_xen_block_device_destroy(vdev->number);
|
||||
|
||||
object_unparent(OBJECT(xendev));
|
||||
|
||||
if (iothread) {
|
||||
Error *local_err = NULL;
|
||||
|
||||
xen_block_iothread_destroy(iothread, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate_prepend(errp, local_err,
|
||||
"failed to destroy iothread: ");
|
||||
"failed to destroy iothread: ");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (drive) {
|
||||
Error *local_err = NULL;
|
||||
|
||||
xen_block_drive_destroy(drive, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate_prepend(errp, local_err,
|
||||
"failed to destroy drive: ");
|
||||
"failed to destroy drive: ");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -832,7 +832,6 @@ static void ivshmem_common_realize(PCIDevice *dev, Error **errp)
|
||||
IVShmemState *s = IVSHMEM_COMMON(dev);
|
||||
Error *err = NULL;
|
||||
uint8_t *pci_conf;
|
||||
Error *local_err = NULL;
|
||||
|
||||
/* IRQFD requires MSI */
|
||||
if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
|
||||
@ -899,9 +898,9 @@ static void ivshmem_common_realize(PCIDevice *dev, Error **errp)
|
||||
if (!ivshmem_is_master(s)) {
|
||||
error_setg(&s->migration_blocker,
|
||||
"Migration is disabled when using feature 'peer mode' in device 'ivshmem'");
|
||||
migrate_add_blocker(s->migration_blocker, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
migrate_add_blocker(s->migration_blocker, &err);
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
error_free(s->migration_blocker);
|
||||
return;
|
||||
}
|
||||
|
@ -255,13 +255,25 @@ static void ssi_sd_realize(SSISlave *d, Error **errp)
|
||||
carddev = qdev_create(BUS(&s->sdbus), TYPE_SD_CARD);
|
||||
if (dinfo) {
|
||||
qdev_prop_set_drive(carddev, "drive", blk_by_legacy_dinfo(dinfo), &err);
|
||||
if (err) {
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
|
||||
object_property_set_bool(OBJECT(carddev), true, "spi", &err);
|
||||
if (err) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
object_property_set_bool(OBJECT(carddev), true, "realized", &err);
|
||||
if (err) {
|
||||
error_setg(errp, "failed to init SD card: %s", error_get_pretty(err));
|
||||
return;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
fail:
|
||||
error_propagate_prepend(errp, err, "failed to init SD card: ");
|
||||
}
|
||||
|
||||
static void ssi_sd_reset(DeviceState *dev)
|
||||
|
@ -206,9 +206,7 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType type,
|
||||
return NULL;
|
||||
}
|
||||
} else {
|
||||
Error *err = NULL;
|
||||
arm_cpu_finalize_features(ARM_CPU(obj), &err);
|
||||
assert(err == NULL);
|
||||
arm_cpu_finalize_features(ARM_CPU(obj), &error_abort);
|
||||
}
|
||||
|
||||
expansion_info = g_new0(CpuModelExpansionInfo, 1);
|
||||
@ -221,12 +219,10 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType type,
|
||||
while ((name = cpu_model_advertised_features[i++]) != NULL) {
|
||||
ObjectProperty *prop = object_property_find(obj, name, NULL);
|
||||
if (prop) {
|
||||
Error *err = NULL;
|
||||
QObject *value;
|
||||
|
||||
assert(prop->get);
|
||||
value = object_property_get_qobject(obj, name, &err);
|
||||
assert(!err);
|
||||
value = object_property_get_qobject(obj, name, &error_abort);
|
||||
|
||||
qdict_put_obj(qdict_out, name, value);
|
||||
}
|
||||
|
@ -55,10 +55,8 @@ static void qos_set_machines_devices_available(void)
|
||||
QObject *response;
|
||||
QDict *args = qdict_new();
|
||||
QList *lst;
|
||||
Error *err = NULL;
|
||||
|
||||
qmp_marshal_query_machines(NULL, &response, &err);
|
||||
assert(!err);
|
||||
qmp_marshal_query_machines(NULL, &response, &error_abort);
|
||||
lst = qobject_to(QList, response);
|
||||
apply_to_qlist(lst, true);
|
||||
|
||||
@ -70,8 +68,7 @@ static void qos_set_machines_devices_available(void)
|
||||
qdict_put_bool(args, "abstract", true);
|
||||
qdict_put_obj(req, "arguments", (QObject *) args);
|
||||
|
||||
qmp_marshal_qom_list_types(args, &response, &err);
|
||||
assert(!err);
|
||||
qmp_marshal_qom_list_types(args, &response, &error_abort);
|
||||
lst = qobject_to(QList, response);
|
||||
apply_to_qlist(lst, false);
|
||||
qobject_unref(response);
|
||||
|
Loading…
x
Reference in New Issue
Block a user