From: Stefan Berger <stefanb@linux.ibm.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>
Cc: qemu-block@nongnu.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
qemu-s390x@nongnu.org,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Kevin Wolf" <kwolf@redhat.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
integration@gluster.org
Subject: Re: [PATCH 15/21] qapi: Inline QERR_MISSING_PARAMETER definition (constant parameter)
Date: Wed, 4 Oct 2023 18:05:29 -0400 [thread overview]
Message-ID: <1ec86854-d364-55b2-49d6-77d444b71876@linux.ibm.com> (raw)
In-Reply-To: <20231004173158.42591-16-philmd@linaro.org>
On 10/4/23 13:31, Philippe Mathieu-Daudé wrote:
> Address the comment added in commit 4629ed1e98
> ("qerror: Finally unused, clean up"), from 2015:
>
> /*
> * These macros will go away, please don't use
> * in new code, and do not add new ones!
> */
>
> Mechanical transformation using the following
> coccinelle semantic patches:
>
> @match@
> expression errp;
> constant param;
> @@
> error_setg(errp, QERR_MISSING_PARAMETER, param);
>
> @script:python strformat depends on match@
> param << match.param;
> fixedfmt; // new var
> @@
> if param[0] == '"': # Format skipping '"',
> fixedfmt = f'"Parameter \'{param[1:-1]}\' is missing"'
> else: # or use definition.
> fixedfmt = f'"Parameter " {param} " is missing"'
> coccinelle.fixedfmt = cocci.make_ident(fixedfmt)
>
> @replace@
> expression match.errp;
> constant match.param;
> identifier strformat.fixedfmt;
> @@
> - error_setg(errp, QERR_MISSING_PARAMETER, param);
> + error_setg(errp, fixedfmt);
>
> and:
>
> @match@
> constant param;
> @@
> error_report(QERR_MISSING_PARAMETER, param);
>
> @script:python strformat depends on match@
> param << match.param;
> fixedfmt; // new var
> @@
> fixedfmt = f'"Parameter \'{param[1:-1]}\' is missing"'
> coccinelle.fixedfmt = cocci.make_ident(fixedfmt)
>
> @replace@
> constant match.param;
> identifier strformat.fixedfmt;
> @@
> - error_report(QERR_MISSING_PARAMETER, param);
> + error_report(fixedfmt);
>
> Signed-off-by: Philippe Mathieu-Daud <philmd@linaro.org>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
> ---
> backends/dbus-vmstate.c | 2 +-
> block/gluster.c | 21 +++++++++++----------
> block/monitor/block-hmp-cmds.c | 6 +++---
> dump/dump.c | 4 ++--
> hw/usb/redirect.c | 2 +-
> softmmu/qdev-monitor.c | 2 +-
> softmmu/tpm.c | 4 ++--
> softmmu/vl.c | 4 ++--
> ui/input-barrier.c | 2 +-
> ui/ui-qmp-cmds.c | 2 +-
> 10 files changed, 25 insertions(+), 24 deletions(-)
>
> diff --git a/backends/dbus-vmstate.c b/backends/dbus-vmstate.c
> index 57369ec0f2..e781ded17c 100644
> --- a/backends/dbus-vmstate.c
> +++ b/backends/dbus-vmstate.c
> @@ -413,7 +413,7 @@ dbus_vmstate_complete(UserCreatable *uc, Error **errp)
> }
>
> if (!self->dbus_addr) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "addr");
> + error_setg(errp, "Parameter 'addr' is missing");
> return;
> }
>
> diff --git a/block/gluster.c b/block/gluster.c
> index ad5fadbe79..8d97d698c3 100644
> --- a/block/gluster.c
> +++ b/block/gluster.c
> @@ -530,20 +530,20 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf,
>
> num_servers = qdict_array_entries(options, GLUSTER_OPT_SERVER_PATTERN);
> if (num_servers < 1) {
> - error_setg(&local_err, QERR_MISSING_PARAMETER, "server");
> + error_setg(&local_err, "Parameter 'server' is missing");
> goto out;
> }
>
> ptr = qemu_opt_get(opts, GLUSTER_OPT_VOLUME);
> if (!ptr) {
> - error_setg(&local_err, QERR_MISSING_PARAMETER, GLUSTER_OPT_VOLUME);
> + error_setg(&local_err, "Parameter " GLUSTER_OPT_VOLUME " is missing");
> goto out;
> }
> gconf->volume = g_strdup(ptr);
>
> ptr = qemu_opt_get(opts, GLUSTER_OPT_PATH);
> if (!ptr) {
> - error_setg(&local_err, QERR_MISSING_PARAMETER, GLUSTER_OPT_PATH);
> + error_setg(&local_err, "Parameter " GLUSTER_OPT_PATH " is missing");
> goto out;
> }
> gconf->path = g_strdup(ptr);
> @@ -562,7 +562,8 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf,
>
> ptr = qemu_opt_get(opts, GLUSTER_OPT_TYPE);
> if (!ptr) {
> - error_setg(&local_err, QERR_MISSING_PARAMETER, GLUSTER_OPT_TYPE);
> + error_setg(&local_err,
> + "Parameter " GLUSTER_OPT_TYPE " is missing");
> error_append_hint(&local_err, GERR_INDEX_HINT, i);
> goto out;
>
> @@ -592,16 +593,16 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf,
>
> ptr = qemu_opt_get(opts, GLUSTER_OPT_HOST);
> if (!ptr) {
> - error_setg(&local_err, QERR_MISSING_PARAMETER,
> - GLUSTER_OPT_HOST);
> + error_setg(&local_err,
> + "Parameter " GLUSTER_OPT_HOST " is missing");
> error_append_hint(&local_err, GERR_INDEX_HINT, i);
> goto out;
> }
> gsconf->u.inet.host = g_strdup(ptr);
> ptr = qemu_opt_get(opts, GLUSTER_OPT_PORT);
> if (!ptr) {
> - error_setg(&local_err, QERR_MISSING_PARAMETER,
> - GLUSTER_OPT_PORT);
> + error_setg(&local_err,
> + "Parameter " GLUSTER_OPT_PORT " is missing");
> error_append_hint(&local_err, GERR_INDEX_HINT, i);
> goto out;
> }
> @@ -648,8 +649,8 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf,
> goto out;
> }
> if (!ptr) {
> - error_setg(&local_err, QERR_MISSING_PARAMETER,
> - GLUSTER_OPT_PATH);
> + error_setg(&local_err,
> + "Parameter " GLUSTER_OPT_PATH " is missing");
> error_append_hint(&local_err, GERR_INDEX_HINT, i);
> goto out;
> }
> diff --git a/block/monitor/block-hmp-cmds.c b/block/monitor/block-hmp-cmds.c
> index ca2599de44..90e593ed38 100644
> --- a/block/monitor/block-hmp-cmds.c
> +++ b/block/monitor/block-hmp-cmds.c
> @@ -252,7 +252,7 @@ void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
> };
>
> if (!filename) {
> - error_setg(&err, QERR_MISSING_PARAMETER, "target");
> + error_setg(&err, "Parameter 'target' is missing");
> goto end;
> }
> qmp_drive_mirror(&mirror, &err);
> @@ -281,7 +281,7 @@ void hmp_drive_backup(Monitor *mon, const QDict *qdict)
> };
>
> if (!filename) {
> - error_setg(&err, QERR_MISSING_PARAMETER, "target");
> + error_setg(&err, "Parameter 'target' is missing");
> goto end;
> }
>
> @@ -356,7 +356,7 @@ void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
> * In the future, if 'snapshot-file' is not specified, the snapshot
> * will be taken internally. Today it's actually required.
> */
> - error_setg(&err, QERR_MISSING_PARAMETER, "snapshot-file");
> + error_setg(&err, "Parameter 'snapshot-file' is missing");
> goto end;
> }
>
> diff --git a/dump/dump.c b/dump/dump.c
> index e173f1f14c..642b952985 100644
> --- a/dump/dump.c
> +++ b/dump/dump.c
> @@ -2096,11 +2096,11 @@ void qmp_dump_guest_memory(bool paging, const char *file,
> return;
> }
> if (has_begin && !has_length) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "length");
> + error_setg(errp, "Parameter 'length' is missing");
> return;
> }
> if (!has_begin && has_length) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "begin");
> + error_setg(errp, "Parameter 'begin' is missing");
> return;
> }
> if (has_detach) {
> diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
> index ac6fa34ad1..83bfc9dc19 100644
> --- a/hw/usb/redirect.c
> +++ b/hw/usb/redirect.c
> @@ -1426,7 +1426,7 @@ static void usbredir_realize(USBDevice *udev, Error **errp)
> int i;
>
> if (!qemu_chr_fe_backend_connected(&dev->cs)) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "chardev");
> + error_setg(errp, "Parameter 'chardev' is missing");
> return;
> }
>
> diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
> index b17aec4357..b7b2bf18d4 100644
> --- a/softmmu/qdev-monitor.c
> +++ b/softmmu/qdev-monitor.c
> @@ -622,7 +622,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts,
>
> driver = qdict_get_try_str(opts, "driver");
> if (!driver) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "driver");
> + error_setg(errp, "Parameter 'driver' is missing");
> return NULL;
> }
>
> diff --git a/softmmu/tpm.c b/softmmu/tpm.c
> index 8437c4efc3..3a7d4b5c67 100644
> --- a/softmmu/tpm.c
> +++ b/softmmu/tpm.c
> @@ -106,13 +106,13 @@ static int tpm_init_tpmdev(void *dummy, QemuOpts *opts, Error **errp)
>
> id = qemu_opts_id(opts);
> if (id == NULL) {
> - error_report(QERR_MISSING_PARAMETER, "id");
> + error_report("Parameter 'id' is missing");
> return 1;
> }
>
> value = qemu_opt_get(opts, "type");
> if (!value) {
> - error_report(QERR_MISSING_PARAMETER, "type");
> + error_report("Parameter 'type' is missing");
> tpm_display_backend_drivers();
> return 1;
> }
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 98e071e63b..840ac84069 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -1801,7 +1801,7 @@ static void object_option_parse(const char *optarg)
>
> type = qemu_opt_get(opts, "qom-type");
> if (!type) {
> - error_setg(&error_fatal, QERR_MISSING_PARAMETER, "qom-type");
> + error_setg(&error_fatal, "Parameter 'qom-type' is missing");
> }
> if (user_creatable_print_help(type, opts)) {
> exit(0);
> @@ -2266,7 +2266,7 @@ static int do_configure_accelerator(void *opaque, QemuOpts *opts, Error **errp)
> bool qtest_with_kvm;
>
> if (!acc) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "accel");
> + error_setg(errp, "Parameter 'accel' is missing");
> goto bad;
> }
>
> diff --git a/ui/input-barrier.c b/ui/input-barrier.c
> index 2d57ca7079..ecbba4adc2 100644
> --- a/ui/input-barrier.c
> +++ b/ui/input-barrier.c
> @@ -493,7 +493,7 @@ static void input_barrier_complete(UserCreatable *uc, Error **errp)
> Error *local_err = NULL;
>
> if (!ib->name) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "name");
> + error_setg(errp, "Parameter 'name' is missing");
> return;
> }
>
> diff --git a/ui/ui-qmp-cmds.c b/ui/ui-qmp-cmds.c
> index a95fd35948..0e350fc333 100644
> --- a/ui/ui-qmp-cmds.c
> +++ b/ui/ui-qmp-cmds.c
> @@ -195,7 +195,7 @@ void qmp_client_migrate_info(const char *protocol, const char *hostname,
> }
>
> if (!has_port && !has_tls_port) {
> - error_setg(errp, QERR_MISSING_PARAMETER, "port/tls-port");
> + error_setg(errp, "Parameter 'port/tls-port' is missing");
> return;
> }
>
next prev parent reply other threads:[~2023-10-04 22:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 17:31 [PATCH 00/21] qapi: Kill 'qapi/qmp/qerror.h' for good Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 01/21] qapi: Inline and remove QERR_BUS_NO_HOTPLUG definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 02/21] qapi: Inline and remove QERR_DEVICE_HAS_NO_MEDIUM definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 03/21] qapi: Inline and remove QERR_DEVICE_IN_USE definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 04/21] qapi: Inline and remove QERR_DEVICE_NO_HOTPLUG definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 05/21] qapi: Inline QERR_INVALID_PARAMETER definition (constant parameter) Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 06/21] qapi: Inline and remove QERR_INVALID_PARAMETER definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 07/21] qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant param) Philippe Mathieu-Daudé
2023-10-04 17:37 ` Thomas Huth
2023-10-04 17:31 ` [PATCH 08/21] qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant value) Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 09/21] qapi: Inline and remove QERR_INVALID_PARAMETER_TYPE definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 10/21] qapi: Inline QERR_INVALID_PARAMETER_VALUE definition (constant value) Philippe Mathieu-Daudé
2023-10-04 18:15 ` Juan Quintela
2023-10-05 4:27 ` Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 11/21] qapi: Inline QERR_INVALID_PARAMETER_VALUE definition (constant param) Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 12/21] qapi: Inline and remove QERR_INVALID_PARAMETER_VALUE definition Philippe Mathieu-Daudé
2023-10-04 22:04 ` Stefan Berger
2023-10-04 17:31 ` [PATCH 13/21] qapi: Inline and remove QERR_IO_ERROR definition Philippe Mathieu-Daudé
2023-10-04 18:15 ` Juan Quintela
2023-10-04 17:31 ` [PATCH 14/21] qapi: Inline and remove QERR_MIGRATION_ACTIVE definition Philippe Mathieu-Daudé
2023-10-04 18:15 ` Juan Quintela
2023-10-04 17:31 ` [PATCH 15/21] qapi: Inline QERR_MISSING_PARAMETER definition (constant parameter) Philippe Mathieu-Daudé
2023-10-04 22:05 ` Stefan Berger [this message]
2023-10-04 17:31 ` [PATCH 16/21] qapi: Inline and remove QERR_MISSING_PARAMETER definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 17/21] qapi: Inline and remove QERR_PROPERTY_VALUE_BAD definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 18/21] qapi: Inline and remove QERR_PROPERTY_VALUE_OUT_OF_RANGE definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 19/21] qapi: Inline and remove QERR_QGA_COMMAND_FAILED definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [RFC PATCH 20/21] qapi: Inline and remove QERR_UNSUPPORTED definition Philippe Mathieu-Daudé
2023-10-04 17:31 ` [PATCH 21/21] qapi: Remove 'qapi/qmp/qerror.h' header Philippe Mathieu-Daudé
2023-10-04 18:16 ` Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1ec86854-d364-55b2-49d6-77d444b71876@linux.ibm.com \
--to=stefanb@linux.ibm.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=eduardo@habkost.net \
--cc=hreitz@redhat.com \
--cc=integration@gluster.org \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=stefanb@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).