qapi: Smooth another visitor error checking pattern
Convert visit_type_FOO(v, ..., &ptr, &err); ... if (err) { ... } to visit_type_FOO(v, ..., &ptr, errp); ... if (!ptr) { ... } for functions that set @ptr to non-null / null on success / error. Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20200707160613.848843-40-armbru@redhat.com>
This commit is contained in:
parent
4bc6d7ee0e
commit
b11a093c60
@ -563,18 +563,15 @@ static BlockdevOptionsNfs *nfs_options_qdict_to_qapi(QDict *options,
|
||||
BlockdevOptionsNfs *opts = NULL;
|
||||
Visitor *v;
|
||||
const QDictEntry *e;
|
||||
Error *local_err = NULL;
|
||||
|
||||
v = qobject_input_visitor_new_flat_confused(options, errp);
|
||||
if (!v) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
visit_type_BlockdevOptionsNfs(v, NULL, &opts, &local_err);
|
||||
visit_type_BlockdevOptionsNfs(v, NULL, &opts, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!opts) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -625,7 +625,6 @@ static int coroutine_fn parallels_co_create_opts(BlockDriver *drv,
|
||||
Error **errp)
|
||||
{
|
||||
BlockdevCreateOptions *create_options = NULL;
|
||||
Error *local_err = NULL;
|
||||
BlockDriverState *bs = NULL;
|
||||
QDict *qdict;
|
||||
Visitor *v;
|
||||
@ -668,11 +667,9 @@ static int coroutine_fn parallels_co_create_opts(BlockDriver *drv,
|
||||
goto done;
|
||||
}
|
||||
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
}
|
||||
|
@ -943,7 +943,6 @@ static int coroutine_fn qcow_co_create_opts(BlockDriver *drv,
|
||||
QDict *qdict;
|
||||
Visitor *v;
|
||||
const char *val;
|
||||
Error *local_err = NULL;
|
||||
int ret;
|
||||
|
||||
static const QDictRenames opt_renames[] = {
|
||||
@ -995,11 +994,9 @@ static int coroutine_fn qcow_co_create_opts(BlockDriver *drv,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
@ -3685,7 +3685,6 @@ static int coroutine_fn qcow2_co_create_opts(BlockDriver *drv,
|
||||
Visitor *v;
|
||||
BlockDriverState *bs = NULL;
|
||||
BlockDriverState *data_bs = NULL;
|
||||
Error *local_err = NULL;
|
||||
const char *val;
|
||||
int ret;
|
||||
|
||||
@ -3781,11 +3780,9 @@ static int coroutine_fn qcow2_co_create_opts(BlockDriver *drv,
|
||||
goto finish;
|
||||
}
|
||||
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto finish;
|
||||
}
|
||||
|
@ -729,7 +729,6 @@ static int coroutine_fn bdrv_qed_co_create_opts(BlockDriver *drv,
|
||||
QDict *qdict;
|
||||
Visitor *v;
|
||||
BlockDriverState *bs = NULL;
|
||||
Error *local_err = NULL;
|
||||
int ret;
|
||||
|
||||
static const QDictRenames opt_renames[] = {
|
||||
@ -771,11 +770,9 @@ static int coroutine_fn bdrv_qed_co_create_opts(BlockDriver *drv,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
@ -681,7 +681,6 @@ static int qemu_rbd_convert_options(QDict *options, BlockdevOptionsRbd **opts,
|
||||
Error **errp)
|
||||
{
|
||||
Visitor *v;
|
||||
Error *local_err = NULL;
|
||||
|
||||
/* Convert the remaining options into a QAPI object */
|
||||
v = qobject_input_visitor_new_flat_confused(options, errp);
|
||||
@ -689,11 +688,9 @@ static int qemu_rbd_convert_options(QDict *options, BlockdevOptionsRbd **opts,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
visit_type_BlockdevOptionsRbd(v, NULL, opts, &local_err);
|
||||
visit_type_BlockdevOptionsRbd(v, NULL, opts, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!opts) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -2193,11 +2193,9 @@ static int coroutine_fn sd_co_create_opts(BlockDriver *drv,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
@ -616,7 +616,6 @@ static BlockdevOptionsSsh *ssh_parse_options(QDict *options, Error **errp)
|
||||
{
|
||||
BlockdevOptionsSsh *result = NULL;
|
||||
QemuOpts *opts = NULL;
|
||||
Error *local_err = NULL;
|
||||
const QDictEntry *e;
|
||||
Visitor *v;
|
||||
|
||||
@ -636,11 +635,9 @@ static BlockdevOptionsSsh *ssh_parse_options(QDict *options, Error **errp)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
visit_type_BlockdevOptionsSsh(v, NULL, &result, &local_err);
|
||||
visit_type_BlockdevOptionsSsh(v, NULL, &result, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!result) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
@ -906,7 +906,6 @@ static int coroutine_fn vdi_co_create_opts(BlockDriver *drv,
|
||||
uint64_t block_size = DEFAULT_CLUSTER_SIZE;
|
||||
bool is_static = false;
|
||||
Visitor *v;
|
||||
Error *local_err = NULL;
|
||||
int ret;
|
||||
|
||||
/* Parse options and convert legacy syntax.
|
||||
@ -957,11 +956,9 @@ static int coroutine_fn vdi_co_create_opts(BlockDriver *drv,
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
}
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
}
|
||||
|
@ -2064,7 +2064,6 @@ static int coroutine_fn vhdx_co_create_opts(BlockDriver *drv,
|
||||
QDict *qdict;
|
||||
Visitor *v;
|
||||
BlockDriverState *bs = NULL;
|
||||
Error *local_err = NULL;
|
||||
int ret;
|
||||
|
||||
static const QDictRenames opt_renames[] = {
|
||||
@ -2105,11 +2104,9 @@ static int coroutine_fn vhdx_co_create_opts(BlockDriver *drv,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
@ -1095,7 +1095,6 @@ static int coroutine_fn vpc_co_create_opts(BlockDriver *drv,
|
||||
QDict *qdict;
|
||||
Visitor *v;
|
||||
BlockDriverState *bs = NULL;
|
||||
Error *local_err = NULL;
|
||||
int ret;
|
||||
|
||||
static const QDictRenames opt_renames[] = {
|
||||
@ -1134,11 +1133,9 @@ static int coroutine_fn vpc_co_create_opts(BlockDriver *drv,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err);
|
||||
visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!create_options) {
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
@ -239,7 +239,6 @@ static void acpi_table_install(const char unsigned *blob, size_t bloblen,
|
||||
void acpi_table_add(const QemuOpts *opts, Error **errp)
|
||||
{
|
||||
AcpiTableOptions *hdrs = NULL;
|
||||
Error *err = NULL;
|
||||
char **pathnames = NULL;
|
||||
char **cur;
|
||||
size_t bloblen = 0;
|
||||
@ -249,11 +248,11 @@ void acpi_table_add(const QemuOpts *opts, Error **errp)
|
||||
Visitor *v;
|
||||
|
||||
v = opts_visitor_new(opts);
|
||||
visit_type_AcpiTableOptions(v, NULL, &hdrs, &err);
|
||||
visit_type_AcpiTableOptions(v, NULL, &hdrs, errp);
|
||||
visit_free(v);
|
||||
}
|
||||
|
||||
if (err) {
|
||||
if (!hdrs) {
|
||||
goto out;
|
||||
}
|
||||
if (hdrs->has_file == hdrs->has_data) {
|
||||
|
@ -682,11 +682,9 @@ static char *xen_block_blockdev_add(const char *id, QDict *qdict,
|
||||
trace_xen_block_blockdev_add(node_name);
|
||||
|
||||
v = qobject_input_visitor_new(QOBJECT(qdict));
|
||||
visit_type_BlockdevOptions(v, NULL, &options, &local_err);
|
||||
visit_type_BlockdevOptions(v, NULL, &options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!options) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
@ -516,10 +516,10 @@ static int parse_numa(void *opaque, QemuOpts *opts, Error **errp)
|
||||
Error *err = NULL;
|
||||
Visitor *v = opts_visitor_new(opts);
|
||||
|
||||
visit_type_NumaOptions(v, NULL, &object, &err);
|
||||
visit_type_NumaOptions(v, NULL, &object, errp);
|
||||
visit_free(v);
|
||||
if (err) {
|
||||
goto end;
|
||||
if (!object) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Fix up legacy suffix-less format */
|
||||
@ -530,7 +530,6 @@ static int parse_numa(void *opaque, QemuOpts *opts, Error **errp)
|
||||
|
||||
set_numa_options(ms, object, &err);
|
||||
|
||||
end:
|
||||
qapi_free_NumaOptions(object);
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
|
@ -657,25 +657,18 @@ int monitor_init_opts(QemuOpts *opts, Error **errp)
|
||||
{
|
||||
Visitor *v;
|
||||
MonitorOptions *options;
|
||||
Error *local_err = NULL;
|
||||
int ret;
|
||||
|
||||
v = opts_visitor_new(opts);
|
||||
visit_type_MonitorOptions(v, NULL, &options, &local_err);
|
||||
visit_type_MonitorOptions(v, NULL, &options, errp);
|
||||
visit_free(v);
|
||||
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
monitor_init(options, true, &local_err);
|
||||
qapi_free_MonitorOptions(options);
|
||||
|
||||
out:
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
if (!options) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
ret = monitor_init(options, true, errp);
|
||||
qapi_free_MonitorOptions(options);
|
||||
return ret;
|
||||
}
|
||||
|
||||
QemuOptsList qemu_mon_opts = {
|
||||
|
Loading…
Reference in New Issue
Block a user