Skip to content

Commit

Permalink
qapi: Use returned bool to check for failure, Coccinelle part
Browse files Browse the repository at this point in the history
The previous commit enables conversion of

    visit_foo(..., &err);
    if (err) {
        ...
    }

to

    if (!visit_foo(..., errp)) {
        ...
    }

for visitor functions that now return true / false on success / error.
Coccinelle script:

    @@
    identifier fun =~ "check_list|input_type_enum|lv_start_struct|lv_type_bool|lv_type_int64|lv_type_str|lv_type_uint64|output_type_enum|parse_type_bool|parse_type_int64|parse_type_null|parse_type_number|parse_type_size|parse_type_str|parse_type_uint64|print_type_bool|print_type_int64|print_type_null|print_type_number|print_type_size|print_type_str|print_type_uint64|qapi_clone_start_alternate|qapi_clone_start_list|qapi_clone_start_struct|qapi_clone_type_bool|qapi_clone_type_int64|qapi_clone_type_null|qapi_clone_type_number|qapi_clone_type_str|qapi_clone_type_uint64|qapi_dealloc_start_list|qapi_dealloc_start_struct|qapi_dealloc_type_anything|qapi_dealloc_type_bool|qapi_dealloc_type_int64|qapi_dealloc_type_null|qapi_dealloc_type_number|qapi_dealloc_type_str|qapi_dealloc_type_uint64|qobject_input_check_list|qobject_input_check_struct|qobject_input_start_alternate|qobject_input_start_list|qobject_input_start_struct|qobject_input_type_any|qobject_input_type_bool|qobject_input_type_bool_keyval|qobject_input_type_int64|qobject_input_type_int64_keyval|qobject_input_type_null|qobject_input_type_number|qobject_input_type_number_keyval|qobject_input_type_size_keyval|qobject_input_type_str|qobject_input_type_str_keyval|qobject_input_type_uint64|qobject_input_type_uint64_keyval|qobject_output_start_list|qobject_output_start_struct|qobject_output_type_any|qobject_output_type_bool|qobject_output_type_int64|qobject_output_type_null|qobject_output_type_number|qobject_output_type_str|qobject_output_type_uint64|start_list|visit_check_list|visit_check_struct|visit_start_alternate|visit_start_list|visit_start_struct|visit_type_.*";
    expression list args;
    typedef Error;
    Error *err;
    @@
    -    fun(args, &err);
    -    if (err)
    +    if (!fun(args, &err))
         {
             ...
         }

A few line breaks tidied up manually.

Signed-off-by: Markus Armbruster <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Message-Id: <[email protected]>
  • Loading branch information
Markus Armbruster committed Jul 10, 2020
1 parent 012d4c9 commit 62a35aa
Show file tree
Hide file tree
Showing 46 changed files with 97 additions and 188 deletions.
3 changes: 1 addition & 2 deletions accel/kvm/kvm-all.c
Original file line number Diff line number Diff line change
Expand Up @@ -3116,8 +3116,7 @@ static void kvm_set_kvm_shadow_mem(Object *obj, Visitor *v,
Error *error = NULL;
int64_t value;

visit_type_int(v, name, &value, &error);
if (error) {
if (!visit_type_int(v, name, &value, &error)) {
error_propagate(errp, error);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions accel/tcg/tcg-all.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,7 @@ static void tcg_set_tb_size(Object *obj, Visitor *v,
Error *error = NULL;
uint32_t value;

visit_type_uint32(v, name, &value, &error);
if (error) {
if (!visit_type_uint32(v, name, &value, &error)) {
error_propagate(errp, error);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions backends/cryptodev.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,7 @@ cryptodev_backend_set_queues(Object *obj, Visitor *v, const char *name,
Error *local_err = NULL;
uint32_t value;

visit_type_uint32(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_uint32(v, name, &value, &local_err)) {
goto out;
}
if (!value) {
Expand Down
3 changes: 1 addition & 2 deletions backends/hostmem-file.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@ static void file_memory_backend_set_align(Object *o, Visitor *v,
goto out;
}

visit_type_size(v, name, &val, &local_err);
if (local_err) {
if (!visit_type_size(v, name, &val, &local_err)) {
goto out;
}
fb->align = val;
Expand Down
3 changes: 1 addition & 2 deletions backends/hostmem-memfd.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,7 @@ memfd_backend_set_hugetlbsize(Object *obj, Visitor *v, const char *name,
goto out;
}

visit_type_size(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_size(v, name, &value, &local_err)) {
goto out;
}
if (!value) {
Expand Down
6 changes: 2 additions & 4 deletions backends/hostmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,7 @@ host_memory_backend_set_size(Object *obj, Visitor *v, const char *name,
goto out;
}

visit_type_size(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_size(v, name, &value, &local_err)) {
goto out;
}
if (!value) {
Expand Down Expand Up @@ -257,8 +256,7 @@ static void host_memory_backend_set_prealloc_threads(Object *obj, Visitor *v,
Error *local_err = NULL;
uint32_t value;

visit_type_uint32(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_uint32(v, name, &value, &local_err)) {
goto out;
}
if (value <= 0) {
Expand Down
3 changes: 1 addition & 2 deletions backends/tpm/tpm_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,7 @@ static void set_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions block/blkdebug.c
Original file line number Diff line number Diff line change
Expand Up @@ -375,8 +375,7 @@ static int blkdebug_parse_perm_list(uint64_t *dest, QDict *options,
}

v = qobject_input_visitor_new(crumpled_subqdict);
visit_type_BlockPermissionList(v, NULL, &perm_list, &local_err);
if (local_err) {
if (!visit_type_BlockPermissionList(v, NULL, &perm_list, &local_err)) {
error_propagate(errp, local_err);
ret = -EINVAL;
goto out;
Expand Down
3 changes: 1 addition & 2 deletions block/nbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1739,8 +1739,7 @@ static SocketAddress *nbd_config(BDRVNBDState *s, QDict *options,
goto done;
}

visit_type_SocketAddress(iv, NULL, &saddr, &local_err);
if (local_err) {
if (!visit_type_SocketAddress(iv, NULL, &saddr, &local_err)) {
error_propagate(errp, local_err);
goto done;
}
Expand Down
3 changes: 1 addition & 2 deletions block/sheepdog.c
Original file line number Diff line number Diff line change
Expand Up @@ -541,8 +541,7 @@ static SocketAddress *sd_server_config(QDict *options, Error **errp)
goto done;
}

visit_type_SocketAddress(iv, NULL, &saddr, &local_err);
if (local_err) {
if (!visit_type_SocketAddress(iv, NULL, &saddr, &local_err)) {
error_propagate(errp, local_err);
goto done;
}
Expand Down
6 changes: 2 additions & 4 deletions block/throttle-groups.c
Original file line number Diff line number Diff line change
Expand Up @@ -823,8 +823,7 @@ static void throttle_group_set(Object *obj, Visitor *v, const char * name,
goto ret;
}

visit_type_int64(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_int64(v, name, &value, &local_err)) {
goto ret;
}
if (value < 0) {
Expand Down Expand Up @@ -896,8 +895,7 @@ static void throttle_group_set_limits(Object *obj, Visitor *v,
ThrottleLimits *argp;
Error *local_err = NULL;

visit_type_ThrottleLimits(v, name, &argp, &local_err);
if (local_err) {
if (!visit_type_ThrottleLimits(v, name, &argp, &local_err)) {
goto ret;
}
qemu_mutex_lock(&tg->lock);
Expand Down
3 changes: 1 addition & 2 deletions bootdevice.c
Original file line number Diff line number Diff line change
Expand Up @@ -297,8 +297,7 @@ static void device_set_bootindex(Object *obj, Visitor *v, const char *name,
int32_t boot_index;
Error *local_err = NULL;

visit_type_int32(v, name, &boot_index, &local_err);
if (local_err) {
if (!visit_type_int32(v, name, &boot_index, &local_err)) {
goto out;
}
/* check whether bootindex is present in fw_boot_order list */
Expand Down
3 changes: 1 addition & 2 deletions hw/block/xen-block.c
Original file line number Diff line number Diff line change
Expand Up @@ -412,8 +412,7 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions hw/core/machine.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,7 @@ static void machine_set_phandle_start(Object *obj, Visitor *v,
Error *error = NULL;
int64_t value;

visit_type_int(v, name, &value, &error);
if (error) {
if (!visit_type_int(v, name, &value, &error)) {
error_propagate(errp, error);
return;
}
Expand Down
12 changes: 4 additions & 8 deletions hw/core/qdev-properties-system.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,7 @@ static void set_drive_helper(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -238,8 +237,7 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -316,8 +314,7 @@ static void set_netdev(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -398,8 +395,7 @@ static void set_audiodev(Object *obj, Visitor *v, const char* name,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down
38 changes: 14 additions & 24 deletions hw/core/qdev-properties.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,7 @@ static void prop_set_bit(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_bool(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_bool(v, name, &value, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -189,8 +188,7 @@ static void prop_set_bit64(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_bool(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_bool(v, name, &value, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -486,8 +484,7 @@ static void set_string(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -540,8 +537,7 @@ static void set_mac(Object *obj, Visitor *v, const char *name, void *opaque,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -762,8 +758,7 @@ static void set_pci_devfn(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_free(local_err);
local_err = NULL;
visit_type_int32(v, name, &value, &local_err);
Expand Down Expand Up @@ -844,8 +839,7 @@ static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque,
return;
}

visit_type_size(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_size(v, name, &value, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -894,8 +888,7 @@ static void set_blocksize(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_size(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_size(v, name, &value, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -976,8 +969,7 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -1076,8 +1068,7 @@ static void set_uuid(Object *obj, Visitor *v, const char *name, void *opaque,
return;
}

visit_type_str(v, name, &str, &local_err);
if (local_err) {
if (!visit_type_str(v, name, &str, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -1158,8 +1149,7 @@ static void set_prop_arraylen(Object *obj, Visitor *v, const char *name,
name);
return;
}
visit_type_uint32(v, name, alenptr, &local_err);
if (local_err) {
if (!visit_type_uint32(v, name, alenptr, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -1490,8 +1480,8 @@ static void set_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_enum(v, prop->name, &speed, prop->info->enum_table, &local_err);
if (local_err) {
if (!visit_type_enum(v, prop->name, &speed, prop->info->enum_table,
&local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -1578,8 +1568,8 @@ static void set_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_enum(v, prop->name, &width, prop->info->enum_table, &local_err);
if (local_err) {
if (!visit_type_enum(v, prop->name, &width, prop->info->enum_table,
&local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down
6 changes: 2 additions & 4 deletions hw/cpu/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ static void core_prop_set_core_id(Object *obj, Visitor *v, const char *name,
Error *local_err = NULL;
int64_t value;

visit_type_int(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_int(v, name, &value, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down Expand Up @@ -61,8 +60,7 @@ static void core_prop_set_nr_threads(Object *obj, Visitor *v, const char *name,
Error *local_err = NULL;
int64_t value;

visit_type_int(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_int(v, name, &value, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions hw/gpio/aspeed_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -762,8 +762,7 @@ static void aspeed_gpio_set_pin(Object *obj, Visitor *v, const char *name,
AspeedGPIOState *s = ASPEED_GPIO(obj);
int set_idx, group_idx = 0;

visit_type_bool(v, name, &level, &local_err);
if (local_err) {
if (!visit_type_bool(v, name, &level, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions hw/i386/pc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1862,8 +1862,7 @@ static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
Error *error = NULL;
uint64_t value;

visit_type_size(v, name, &value, &error);
if (error) {
if (!visit_type_size(v, name, &value, &error)) {
error_propagate(errp, error);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions hw/ide/qdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,7 @@ static void ide_dev_set_bootindex(Object *obj, Visitor *v, const char *name,
int32_t boot_index;
Error *local_err = NULL;

visit_type_int32(v, name, &boot_index, &local_err);
if (local_err) {
if (!visit_type_int32(v, name, &boot_index, &local_err)) {
goto out;
}
/* check whether bootindex is present in fw_boot_order list */
Expand Down
3 changes: 1 addition & 2 deletions hw/intc/apic_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -428,8 +428,7 @@ static void apic_common_set_id(Object *obj, Visitor *v, const char *name,
return;
}

visit_type_uint32(v, name, &value, &local_err);
if (local_err) {
if (!visit_type_uint32(v, name, &value, &local_err)) {
error_propagate(errp, local_err);
return;
}
Expand Down
Loading

0 comments on commit 62a35aa

Please sign in to comment.