qapi: Use returned bool to check for failure, manual part

The previous commit used Coccinelle to convert from checking the Error
object to checking the return value.  Convert a few more manually.
Also tweak control flow in places to conform to the conventional "if
error bail out" pattern.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20200707160613.848843-20-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2020-07-07 18:05:47 +02:00
parent 62a35aaa31
commit 14217038bc
9 changed files with 44 additions and 56 deletions

View file

@ -3128,37 +3128,33 @@ static void kvm_set_kernel_irqchip(Object *obj, Visitor *v,
const char *name, void *opaque, const char *name, void *opaque,
Error **errp) Error **errp)
{ {
Error *err = NULL;
KVMState *s = KVM_STATE(obj); KVMState *s = KVM_STATE(obj);
OnOffSplit mode; OnOffSplit mode;
visit_type_OnOffSplit(v, name, &mode, &err); if (!visit_type_OnOffSplit(v, name, &mode, errp)) {
if (err) {
error_propagate(errp, err);
return; return;
} else { }
switch (mode) { switch (mode) {
case ON_OFF_SPLIT_ON: case ON_OFF_SPLIT_ON:
s->kernel_irqchip_allowed = true; s->kernel_irqchip_allowed = true;
s->kernel_irqchip_required = true; s->kernel_irqchip_required = true;
s->kernel_irqchip_split = ON_OFF_AUTO_OFF; s->kernel_irqchip_split = ON_OFF_AUTO_OFF;
break; break;
case ON_OFF_SPLIT_OFF: case ON_OFF_SPLIT_OFF:
s->kernel_irqchip_allowed = false; s->kernel_irqchip_allowed = false;
s->kernel_irqchip_required = false; s->kernel_irqchip_required = false;
s->kernel_irqchip_split = ON_OFF_AUTO_OFF; s->kernel_irqchip_split = ON_OFF_AUTO_OFF;
break; break;
case ON_OFF_SPLIT_SPLIT: case ON_OFF_SPLIT_SPLIT:
s->kernel_irqchip_allowed = true; s->kernel_irqchip_allowed = true;
s->kernel_irqchip_required = true; s->kernel_irqchip_required = true;
s->kernel_irqchip_split = ON_OFF_AUTO_ON; s->kernel_irqchip_split = ON_OFF_AUTO_ON;
break; break;
default: default:
/* The value was checked in visit_type_OnOffSplit() above. If /* The value was checked in visit_type_OnOffSplit() above. If
* we get here, then something is wrong in QEMU. * we get here, then something is wrong in QEMU.
*/ */
abort(); abort();
}
} }
} }

View file

@ -895,8 +895,8 @@ static void throttle_group_set_limits(Object *obj, Visitor *v,
ThrottleLimits *argp; ThrottleLimits *argp;
Error *local_err = NULL; Error *local_err = NULL;
if (!visit_type_ThrottleLimits(v, name, &argp, &local_err)) { if (!visit_type_ThrottleLimits(v, name, &argp, errp)) {
goto ret; return;
} }
qemu_mutex_lock(&tg->lock); qemu_mutex_lock(&tg->lock);
throttle_get_config(&tg->ts, &cfg); throttle_get_config(&tg->ts, &cfg);
@ -908,7 +908,6 @@ static void throttle_group_set_limits(Object *obj, Visitor *v,
unlock: unlock:
qemu_mutex_unlock(&tg->lock); qemu_mutex_unlock(&tg->lock);
ret:
qapi_free_ThrottleLimits(argp); qapi_free_ThrottleLimits(argp);
error_propagate(errp, local_err); error_propagate(errp, local_err);
return; return;

View file

@ -297,8 +297,8 @@ static void device_set_bootindex(Object *obj, Visitor *v, const char *name,
int32_t boot_index; int32_t boot_index;
Error *local_err = NULL; Error *local_err = NULL;
if (!visit_type_int32(v, name, &boot_index, &local_err)) { if (!visit_type_int32(v, name, &boot_index, errp)) {
goto out; return;
} }
/* check whether bootindex is present in fw_boot_order list */ /* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err); check_boot_index(boot_index, &local_err);

View file

@ -761,15 +761,15 @@ static void set_pci_devfn(Object *obj, Visitor *v, const char *name,
if (!visit_type_str(v, name, &str, &local_err)) { if (!visit_type_str(v, name, &str, &local_err)) {
error_free(local_err); error_free(local_err);
local_err = NULL; local_err = NULL;
visit_type_int32(v, name, &value, &local_err); if (!visit_type_int32(v, name, &value, errp)) {
if (local_err) { return;
error_propagate(errp, local_err); }
} else if (value < -1 || value > 255) { if (value < -1 || value > 255) {
error_setg(errp, QERR_INVALID_PARAMETER_VALUE, error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
name ? name : "null", "pci_devfn"); name ? name : "null", "pci_devfn");
} else { return;
*ptr = value;
} }
*ptr = value;
return; return;
} }

View file

@ -245,8 +245,8 @@ static void ide_dev_set_bootindex(Object *obj, Visitor *v, const char *name,
int32_t boot_index; int32_t boot_index;
Error *local_err = NULL; Error *local_err = NULL;
if (!visit_type_int32(v, name, &boot_index, &local_err)) { if (!visit_type_int32(v, name, &boot_index, errp)) {
goto out; return;
} }
/* check whether bootindex is present in fw_boot_order list */ /* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err); check_boot_index(boot_index, &local_err);

View file

@ -85,21 +85,18 @@ static void nvdimm_set_uuid(Object *obj, Visitor *v, const char *name,
void *opaque, Error **errp) void *opaque, Error **errp)
{ {
NVDIMMDevice *nvdimm = NVDIMM(obj); NVDIMMDevice *nvdimm = NVDIMM(obj);
Error *local_err = NULL;
char *value; char *value;
if (!visit_type_str(v, name, &value, &local_err)) { if (!visit_type_str(v, name, &value, errp)) {
goto out; return;
} }
if (qemu_uuid_parse(value, &nvdimm->uuid) != 0) { if (qemu_uuid_parse(value, &nvdimm->uuid) != 0) {
error_setg(errp, "Property '%s.%s' has invalid value", error_setg(errp, "Property '%s.%s' has invalid value",
object_get_typename(obj), name); object_get_typename(obj), name);
} }
g_free(value);
out: g_free(value);
error_propagate(errp, local_err);
} }

View file

@ -113,8 +113,8 @@ static void isa_ne2000_set_bootindex(Object *obj, Visitor *v,
int32_t boot_index; int32_t boot_index;
Error *local_err = NULL; Error *local_err = NULL;
if (!visit_type_int32(v, name, &boot_index, &local_err)) { if (!visit_type_int32(v, name, &boot_index, errp)) {
goto out; return;
} }
/* check whether bootindex is present in fw_boot_order list */ /* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err); check_boot_index(boot_index, &local_err);

View file

@ -736,8 +736,8 @@ static void usb_msd_set_bootindex(Object *obj, Visitor *v, const char *name,
int32_t boot_index; int32_t boot_index;
Error *local_err = NULL; Error *local_err = NULL;
if (!visit_type_int32(v, name, &boot_index, &local_err)) { if (!visit_type_int32(v, name, &boot_index, errp)) {
goto out; return;
} }
/* check whether bootindex is present in fw_boot_order list */ /* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err); check_boot_index(boot_index, &local_err);

View file

@ -1062,7 +1062,6 @@ static int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp)
{ {
gchar **substrings = NULL; gchar **substrings = NULL;
Netdev *object = NULL; Netdev *object = NULL;
Error *err = NULL;
int ret = -1; int ret = -1;
Visitor *v = opts_visitor_new(opts); Visitor *v = opts_visitor_new(opts);
@ -1110,16 +1109,13 @@ static int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp)
qemu_opts_set_id(opts, g_strdup_printf("__org.qemu.net%i", idx++)); qemu_opts_set_id(opts, g_strdup_printf("__org.qemu.net%i", idx++));
} }
visit_type_Netdev(v, NULL, &object, &err); if (visit_type_Netdev(v, NULL, &object, errp)) {
ret = net_client_init1(object, is_netdev, errp);
if (!err) {
ret = net_client_init1(object, is_netdev, &err);
} }
qapi_free_Netdev(object); qapi_free_Netdev(object);
out: out:
error_propagate(errp, err);
g_strfreev(substrings); g_strfreev(substrings);
visit_free(v); visit_free(v);
return ret; return ret;