[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 03/24] error: Use error_report_err() instead of m
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v3 03/24] error: Use error_report_err() instead of monitor_printf() |
Date: |
Fri, 18 Dec 2015 16:35:06 +0100 |
Both error_report_err() and monitor_printf() print to the same
destination when monitor_printf() is used correctly, i.e. within an
HMP monitor. Elsewhere, monitor_printf() does nothing, while
error_report_err() reports to stderr.
Most changed functions are HMP command handlers. These should only
run within an HMP monitor. The one exception is bdrv_password_cb(),
which should also only run within an HMP monitor.
Four command handlers prefix the error message with the command name:
balloon, migrate_set_capability, migrate_set_parameter, migrate.
Pointless, drop.
Unlike monitor_printf(), error_report_err() uses the error whole
instead of just its message obtained with error_get_pretty(). This
avoids suppressing its hint (see commit 50b7b00). Example:
(qemu) device_add ivshmem,id=666
Parameter 'id' expects an identifier
Identifiers consist of letters, digits, '-', '.', '_', starting with a
letter.
Try "help device_add" for more information
The "Identifiers consist of..." line is new with this patch.
Coccinelle semantic patch:
@@
expression M, E;
@@
- monitor_printf(M, "%s\n", error_get_pretty(E));
- error_free(E);
+ error_report_err(E);
@r1@
expression M, E;
format F;
position p;
@@
- monitor_printf(M, "address@hidden@\n", error_get_pretty(E));@p
- error_free(E);
+ error_report_err(E);
@script:python@
p << r1.p;
@@
print "%s:%s:%s: prefix dropped" % (p[0].file, p[0].line, p[0].column)
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
hmp.c | 29 +++++++++--------------------
hw/s390x/s390-skeys.c | 3 +--
migration/savevm.c | 3 +--
monitor.c | 6 ++----
4 files changed, 13 insertions(+), 28 deletions(-)
diff --git a/hmp.c b/hmp.c
index c2b2c16..9723397 100644
--- a/hmp.c
+++ b/hmp.c
@@ -41,8 +41,7 @@ static void hmp_handle_error(Monitor *mon, Error **errp)
{
assert(errp);
if (*errp) {
- monitor_printf(mon, "%s\n", error_get_pretty(*errp));
- error_free(*errp);
+ error_report_err(*errp);
}
}
@@ -556,8 +555,7 @@ void hmp_info_vnc(Monitor *mon, const QDict *qdict)
info = qmp_query_vnc(&err);
if (err) {
- monitor_printf(mon, "%s\n", error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
return;
}
@@ -679,8 +677,7 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict)
info = qmp_query_balloon(&err);
if (err) {
- monitor_printf(mon, "%s\n", error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
return;
}
@@ -948,8 +945,7 @@ void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
data = qmp_ringbuf_read(chardev, size, false, 0, &err);
if (err) {
- monitor_printf(mon, "%s\n", error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
return;
}
@@ -1042,8 +1038,7 @@ void hmp_balloon(Monitor *mon, const QDict *qdict)
qmp_balloon(value, &err);
if (err) {
- monitor_printf(mon, "balloon: %s\n", error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
}
}
@@ -1191,8 +1186,7 @@ void hmp_migrate_set_cache_size(Monitor *mon, const QDict
*qdict)
qmp_migrate_set_cache_size(value, &err);
if (err) {
- monitor_printf(mon, "%s\n", error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
return;
}
}
@@ -1229,9 +1223,7 @@ void hmp_migrate_set_capability(Monitor *mon, const QDict
*qdict)
qapi_free_MigrationCapabilityStatusList(caps);
if (err) {
- monitor_printf(mon, "migrate_set_capability: %s\n",
- error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
}
}
@@ -1281,9 +1273,7 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict
*qdict)
}
if (err) {
- monitor_printf(mon, "migrate_set_parameter: %s\n",
- error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
}
}
@@ -1544,8 +1534,7 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
qmp_migrate(uri, !!blk, blk, !!inc, inc, false, false, &err);
if (err) {
- monitor_printf(mon, "migrate: %s\n", error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
return;
}
diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
index 539ef6d..4af1558 100644
--- a/hw/s390x/s390-skeys.c
+++ b/hw/s390x/s390-skeys.c
@@ -100,8 +100,7 @@ void hmp_dump_skeys(Monitor *mon, const QDict *qdict)
qmp_dump_skeys(filename, &err);
if (err) {
- monitor_printf(mon, "%s\n", error_get_pretty(err));
- error_free(err);
+ error_report_err(err);
}
}
diff --git a/migration/savevm.c b/migration/savevm.c
index 0ad1b93..e277b72 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1984,8 +1984,7 @@ void hmp_savevm(Monitor *mon, const QDict *qdict)
vm_state_size = qemu_ftell(f);
qemu_fclose(f);
if (ret < 0) {
- monitor_printf(mon, "%s\n", error_get_pretty(local_err));
- error_free(local_err);
+ error_report_err(local_err);
goto the_end;
}
diff --git a/monitor.c b/monitor.c
index e7e7ae2..c53a453 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1464,8 +1464,7 @@ static void hmp_boot_set(Monitor *mon, const QDict *qdict)
qemu_boot_set(bootdevice, &local_err);
if (local_err) {
- monitor_printf(mon, "%s\n", error_get_pretty(local_err));
- error_free(local_err);
+ error_report_err(local_err);
} else {
monitor_printf(mon, "boot device list now set to %s\n", bootdevice);
}
@@ -4149,8 +4148,7 @@ static void bdrv_password_cb(void *opaque, const char
*password,
bdrv_add_key(bs, password, &local_err);
if (local_err) {
- monitor_printf(mon, "%s\n", error_get_pretty(local_err));
- error_free(local_err);
+ error_report_err(local_err);
ret = -EPERM;
}
if (mon->password_completion_cb)
--
2.4.3
- [Qemu-devel] [PATCH v3 15/24] qemu-io qemu-nbd: Use error_report() etc. instead of fprintf(), (continued)
- [Qemu-devel] [PATCH v3 15/24] qemu-io qemu-nbd: Use error_report() etc. instead of fprintf(), Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 02/24] error: Use error_report_err() where appropriate (again), Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 12/24] error: Use error_prepend() where it makes obvious sense, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 08/24] test-throttle: Simplify qemu_init_main_loop() error handling, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 07/24] qemu-nbd: Clean up "Failed to load snapshot" error message, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 04/24] error: Use error_report_err() instead of ad hoc prints, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 01/24] qemu-nbd: Replace BSDism <err.h> by error_report(), Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 09/24] error: New error_prepend(), error_reportf_err(), Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 10/24] error: Don't decorate original error message when adding to it, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 06/24] block: Clean up "Could not create temporary overlay" error message, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 03/24] error: Use error_report_err() instead of monitor_printf(),
Markus Armbruster <=
- [Qemu-devel] [PATCH v3 16/24] error: Strip trailing '\n' from error string arguments (again), Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 14/24] migration: Use error_reportf_err() instead of monitor_printf(), Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 22/24] hw/s390x: Rename local variables Error *l_err to just err, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 05/24] error: Improve documentation, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 24/24] error: Consistently name Error * objects err, and not errp, Markus Armbruster, 2015/12/18
- [Qemu-devel] [PATCH v3 11/24] error: Use error_reportf_err() where it makes obvious sense, Markus Armbruster, 2015/12/18