From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 27/41] error: Use error_reportf_err() where it makes obvious sense
Date: Wed, 13 Jan 2016 16:43:25 +0100 [thread overview]
Message-ID: <1452699819-26608-28-git-send-email-armbru@redhat.com> (raw)
In-Reply-To: <1452699819-26608-1-git-send-email-armbru@redhat.com>
Done with this Coccinelle semantic patch
@@
expression FMT, E, S;
expression list ARGS;
@@
- error_report(FMT, ARGS, error_get_pretty(E));
+ error_reportf_err(E, FMT/*@@@*/, ARGS);
(
- error_free(E);
|
exit(S);
|
abort();
)
followed by a replace of '%s"/*@@@*/' by '"' and some line rewrapping,
because I can't figure out how to make Coccinelle transform strings.
We now use the error whole instead of just its message obtained with
error_get_pretty(). This avoids suppressing its hint (see commit
50b7b00), but I can't see how the errors touched in this commit could
come with hints.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1450452927-8346-12-git-send-email-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
arch_init.c | 4 +---
block/sheepdog.c | 5 ++---
blockdev.c | 12 +++++-------
hw/arm/cubieboard.c | 9 ++++-----
hw/arm/digic_boards.c | 3 +--
hw/core/qdev-properties.c | 6 ++----
hw/core/qdev.c | 5 ++---
hw/i386/pc.c | 5 ++---
hw/ppc/e500.c | 4 ++--
hw/usb/bus.c | 5 ++---
qemu-img.c | 33 +++++++++++++--------------------
qemu-nbd.c | 11 +++++------
replay/replay.c | 3 +--
tests/test-aio.c | 4 +---
tests/test-thread-pool.c | 4 +---
ui/vnc.c | 4 +---
vl.c | 6 ++----
17 files changed, 47 insertions(+), 76 deletions(-)
diff --git a/arch_init.c b/arch_init.c
index 38f5fb9..d1383b3 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -258,9 +258,7 @@ void do_acpitable_option(const QemuOpts *opts)
acpi_table_add(opts, &err);
if (err) {
- error_report("Wrong acpi table provided: %s",
- error_get_pretty(err));
- error_free(err);
+ error_reportf_err(err, "Wrong acpi table provided: ");
exit(1);
}
#endif
diff --git a/block/sheepdog.c b/block/sheepdog.c
index dd8301b..6986be8 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -2405,9 +2405,8 @@ static int sd_snapshot_create(BlockDriverState *bs, QEMUSnapshotInfo *sn_info)
ret = do_sd_create(s, &new_vid, 1, &local_err);
if (ret < 0) {
- error_report("failed to create inode for snapshot: %s",
- error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err,
+ "failed to create inode for snapshot: ");
goto cleanup;
}
diff --git a/blockdev.c b/blockdev.c
index 2df0c6d..1392fff 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -1582,13 +1582,11 @@ static void internal_snapshot_abort(BlkActionState *common)
}
if (bdrv_snapshot_delete(bs, sn->id_str, sn->name, &local_error) < 0) {
- error_report("Failed to delete snapshot with id '%s' and name '%s' on "
- "device '%s' in abort: %s",
- sn->id_str,
- sn->name,
- bdrv_get_device_name(bs),
- error_get_pretty(local_error));
- error_free(local_error);
+ error_reportf_err(local_error,
+ "Failed to delete snapshot with id '%s' and "
+ "name '%s' on device '%s' in abort: ",
+ sn->id_str, sn->name,
+ bdrv_get_device_name(bs));
}
}
diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c
index bf068cd..a71e43c 100644
--- a/hw/arm/cubieboard.c
+++ b/hw/arm/cubieboard.c
@@ -39,27 +39,26 @@ static void cubieboard_init(MachineState *machine)
object_property_set_int(OBJECT(&s->a10->emac), 1, "phy-addr", &err);
if (err != NULL) {
- error_report("Couldn't set phy address: %s", error_get_pretty(err));
+ error_reportf_err(err, "Couldn't set phy address: ");
exit(1);
}
object_property_set_int(OBJECT(&s->a10->timer), 32768, "clk0-freq", &err);
if (err != NULL) {
- error_report("Couldn't set clk0 frequency: %s", error_get_pretty(err));
+ error_reportf_err(err, "Couldn't set clk0 frequency: ");
exit(1);
}
object_property_set_int(OBJECT(&s->a10->timer), 24000000, "clk1-freq",
&err);
if (err != NULL) {
- error_report("Couldn't set clk1 frequency: %s", error_get_pretty(err));
+ error_reportf_err(err, "Couldn't set clk1 frequency: ");
exit(1);
}
object_property_set_bool(OBJECT(s->a10), true, "realized", &err);
if (err != NULL) {
- error_report("Couldn't realize Allwinner A10: %s",
- error_get_pretty(err));
+ error_reportf_err(err, "Couldn't realize Allwinner A10: ");
exit(1);
}
diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c
index 710045a..dfaed25 100644
--- a/hw/arm/digic_boards.c
+++ b/hw/arm/digic_boards.c
@@ -64,8 +64,7 @@ static void digic4_board_init(DigicBoard *board)
s->digic = DIGIC(object_new(TYPE_DIGIC));
object_property_set_bool(OBJECT(s->digic), true, "realized", &err);
if (err != NULL) {
- error_report("Couldn't realize DIGIC SoC: %s",
- error_get_pretty(err));
+ error_reportf_err(err, "Couldn't realize DIGIC SoC: ");
exit(1);
}
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index fffb58e..3572810 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -1063,10 +1063,8 @@ static void qdev_prop_set_globals_for_type(DeviceState *dev,
object_property_parse(OBJECT(dev), prop->value, prop->property, &err);
if (err != NULL) {
assert(prop->user_provided);
- error_report("Warning: global %s.%s=%s ignored: %s",
- prop->driver, prop->property, prop->value,
- error_get_pretty(err));
- error_free(err);
+ error_reportf_err(err, "Warning: global %s.%s=%s ignored: ",
+ prop->driver, prop->property, prop->value);
return;
}
}
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 4e3173d..2c7101d 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -370,9 +370,8 @@ void qdev_init_nofail(DeviceState *dev)
object_property_set_bool(OBJECT(dev), true, "realized", &err);
if (err) {
- error_report("Initialization of device %s failed: %s",
- object_get_typename(OBJECT(dev)),
- error_get_pretty(err));
+ error_reportf_err(err, "Initialization of device %s failed: ",
+ object_get_typename(OBJECT(dev)));
exit(1);
}
}
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 166e8e2..0e5c86a 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1253,9 +1253,8 @@ void pc_acpi_init(const char *default_dsdt)
acpi_table_add_builtin(opts, &err);
if (err) {
- error_report("WARNING: failed to load %s: %s", filename,
- error_get_pretty(err));
- error_free(err);
+ error_reportf_err(err, "WARNING: failed to load %s: ",
+ filename);
}
g_free(filename);
}
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index b3418db..bd7da47 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -751,8 +751,8 @@ static qemu_irq *ppce500_init_mpic(MachineState *machine, PPCE500Params *params,
dev = ppce500_init_mpic_kvm(params, irqs, &err);
}
if (machine_kernel_irqchip_required(machine) && !dev) {
- error_report("kernel_irqchip requested but unavailable: %s",
- error_get_pretty(err));
+ error_reportf_err(err,
+ "kernel_irqchip requested but unavailable: ");
exit(1);
}
}
diff --git a/hw/usb/bus.c b/hw/usb/bus.c
index ee6b43a..26ab67f 100644
--- a/hw/usb/bus.c
+++ b/hw/usb/bus.c
@@ -725,9 +725,8 @@ USBDevice *usbdevice_create(const char *cmdline)
}
object_property_set_bool(OBJECT(dev), true, "realized", &err);
if (err) {
- error_report("Failed to initialize USB device '%s': %s",
- f->name, error_get_pretty(err));
- error_free(err);
+ error_reportf_err(err, "Failed to initialize USB device '%s': ",
+ f->name);
object_unparent(OBJECT(dev));
return NULL;
}
diff --git a/qemu-img.c b/qemu-img.c
index f4f5540..a5949e6 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -213,9 +213,7 @@ static BlockBackend *img_open(const char *id, const char *filename,
blk = blk_new_open(id, filename, NULL, options, flags, &local_err);
if (!blk) {
- error_report("Could not open '%s': %s", filename,
- error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err, "Could not open '%s': ", filename);
goto fail;
}
@@ -360,8 +358,7 @@ static int img_create(int argc, char **argv)
bdrv_img_create(filename, fmt, base_filename, base_fmt,
options, img_size, BDRV_O_FLAGS, &local_err, quiet);
if (local_err) {
- error_report("%s: %s", filename, error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err, "%s: ", filename);
goto fail;
}
@@ -1711,9 +1708,7 @@ static int img_convert(int argc, char **argv)
bdrv_snapshot_load_tmp_by_id_or_name(bs[0], snapshot_name, &local_err);
}
if (local_err) {
- error_report("Failed to load snapshot: %s",
- error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err, "Failed to load snapshot: ");
ret = -1;
goto out;
}
@@ -1809,9 +1804,8 @@ static int img_convert(int argc, char **argv)
/* Create the new image */
ret = bdrv_create(drv, out_filename, opts, &local_err);
if (ret < 0) {
- error_report("%s: error while converting %s: %s",
- out_filename, out_fmt, error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err, "%s: error while converting %s: ",
+ out_filename, out_fmt);
goto out;
}
}
@@ -2439,9 +2433,8 @@ static int img_snapshot(int argc, char **argv)
case SNAPSHOT_DELETE:
bdrv_snapshot_delete_by_id_or_name(bs, snapshot_name, &err);
if (err) {
- error_report("Could not delete snapshot '%s': %s",
- snapshot_name, error_get_pretty(err));
- error_free(err);
+ error_reportf_err(err, "Could not delete snapshot '%s': ",
+ snapshot_name);
ret = 1;
}
break;
@@ -2574,9 +2567,9 @@ static int img_rebase(int argc, char **argv)
blk_old_backing = blk_new_open("old_backing", backing_name, NULL,
options, src_flags, &local_err);
if (!blk_old_backing) {
- error_report("Could not open old backing file '%s': %s",
- backing_name, error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err,
+ "Could not open old backing file '%s': ",
+ backing_name);
goto out;
}
@@ -2591,9 +2584,9 @@ static int img_rebase(int argc, char **argv)
blk_new_backing = blk_new_open("new_backing", out_baseimg, NULL,
options, src_flags, &local_err);
if (!blk_new_backing) {
- error_report("Could not open new backing file '%s': %s",
- out_baseimg, error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err,
+ "Could not open new backing file '%s': ",
+ out_baseimg);
goto out;
}
}
diff --git a/qemu-nbd.c b/qemu-nbd.c
index b8be3bc..f9fce4a 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -495,8 +495,8 @@ int main(int argc, char **argv)
BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF,
&local_err);
if (local_err) {
- error_report("Failed to parse detect_zeroes mode: %s",
- error_get_pretty(local_err));
+ error_reportf_err(local_err,
+ "Failed to parse detect_zeroes mode: ");
exit(EXIT_FAILURE);
}
if (detect_zeroes == BLOCKDEV_DETECT_ZEROES_OPTIONS_UNMAP &&
@@ -703,8 +703,8 @@ int main(int argc, char **argv)
srcpath = argv[optind];
blk = blk_new_open("hda", srcpath, NULL, options, flags, &local_err);
if (!blk) {
- error_report("Failed to blk_new_open '%s': %s", argv[optind],
- error_get_pretty(local_err));
+ error_reportf_err(local_err, "Failed to blk_new_open '%s': ",
+ argv[optind]);
exit(EXIT_FAILURE);
}
bs = blk_bs(blk);
@@ -719,8 +719,7 @@ int main(int argc, char **argv)
&local_err);
}
if (ret < 0) {
- error_report("Failed to load snapshot: %s",
- error_get_pretty(local_err));
+ error_reportf_err(local_err, "Failed to load snapshot: ");
exit(EXIT_FAILURE);
}
diff --git a/replay/replay.c b/replay/replay.c
index 0d33e82..e4673b3 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -291,8 +291,7 @@ void replay_start(void)
}
if (replay_blockers) {
- error_report("Record/replay: %s",
- error_get_pretty(replay_blockers->data));
+ error_reportf_err(replay_blockers->data, "Record/replay: ");
exit(1);
}
if (!use_icount) {
diff --git a/tests/test-aio.c b/tests/test-aio.c
index f0b447e..6ccea98 100644
--- a/tests/test-aio.c
+++ b/tests/test-aio.c
@@ -832,9 +832,7 @@ int main(int argc, char **argv)
ctx = aio_context_new(&local_error);
if (!ctx) {
- error_report("Failed to create AIO Context: %s",
- error_get_pretty(local_error));
- error_free(local_error);
+ error_reportf_err(local_error, "Failed to create AIO Context: ");
exit(1);
}
src = aio_get_g_source(ctx);
diff --git a/tests/test-thread-pool.c b/tests/test-thread-pool.c
index 153b8f5..ccdee39 100644
--- a/tests/test-thread-pool.c
+++ b/tests/test-thread-pool.c
@@ -229,9 +229,7 @@ int main(int argc, char **argv)
ctx = aio_context_new(&local_error);
if (!ctx) {
- error_report("Failed to create AIO Context: %s",
- error_get_pretty(local_error));
- error_free(local_error);
+ error_reportf_err(local_error, "Failed to create AIO Context: ");
exit(1);
}
pool = aio_get_thread_pool(ctx);
diff --git a/ui/vnc.c b/ui/vnc.c
index 09756cd..54673eb 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3861,9 +3861,7 @@ int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp)
vnc_display_init(id);
vnc_display_open(id, &local_err);
if (local_err != NULL) {
- error_report("Failed to start VNC server: %s",
- error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err, "Failed to start VNC server: ");
exit(1);
}
return 0;
diff --git a/vl.c b/vl.c
index 7548fa2..20a367b 100644
--- a/vl.c
+++ b/vl.c
@@ -3043,7 +3043,7 @@ int main(int argc, char **argv, char **envp)
runstate_init();
if (qcrypto_init(&err) < 0) {
- error_report("cannot initialize crypto: %s", error_get_pretty(err));
+ error_reportf_err(err, "cannot initialize crypto: ");
exit(1);
}
rtc_clock = QEMU_CLOCK_HOST;
@@ -4649,9 +4649,7 @@ int main(int argc, char **argv, char **envp)
Error *local_err = NULL;
qemu_start_incoming_migration(incoming, &local_err);
if (local_err) {
- error_report("-incoming %s: %s", incoming,
- error_get_pretty(local_err));
- error_free(local_err);
+ error_reportf_err(local_err, "-incoming %s: ", incoming);
exit(1);
}
} else if (autostart) {
--
2.4.3
next prev parent reply other threads:[~2016-01-13 15:44 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-13 15:42 [Qemu-devel] [PULL 00/41] Error reporting patches for 2016-01-13 Markus Armbruster
2016-01-13 15:42 ` [Qemu-devel] [PULL 01/41] error: Document how to accumulate multiple errors Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 02/41] Use error_fatal to simplify obvious fatal errors Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 03/41] hw: Inline the qdev_prop_set_drive_nofail() wrapper Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 04/41] hw: Don't use hw_error() for machine initialization errors Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 05/41] omap: Don't use hw_error() in device init() methods Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 06/41] arm_mptimer: Don't use hw_error() in realize() method Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 07/41] etraxfs_eth: Don't use hw_error() in init() method Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 08/41] raven: Mark use of hw_error() in realize() FIXME Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 09/41] error: Don't append a newline when printing the error hint Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 10/41] hw/arm/virt: Fix property "gic-version" error handling Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 11/41] sysbus: Don't use hw_error() in machine_init_done_notifiers Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 12/41] isa: Trivially convert remaining PCI-ISA bridges to realize() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 13/41] isa: Clean up error handling around isa_bus_new() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 14/41] isa: Clean up inappropriate hw_error() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 15/41] audio: Clean up inappropriate and unreachable use of hw_error() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 16/41] xen-hvm: Mark inappropriate error handling FIXME Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 17/41] qemu-nbd: Replace BSDism <err.h> by error_report() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 18/41] error: Use error_report_err() where appropriate (again) Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 19/41] error: Use error_report_err() instead of monitor_printf() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 20/41] error: Use error_report_err() instead of ad hoc prints Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 21/41] error: Improve documentation Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 22/41] block: Clean up "Could not create temporary overlay" error message Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 23/41] qemu-nbd: Clean up "Failed to load snapshot" " Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 24/41] test-throttle: Simplify qemu_init_main_loop() error handling Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 25/41] error: New error_prepend(), error_reportf_err() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 26/41] error: Don't decorate original error message when adding to it Markus Armbruster
2016-01-13 15:43 ` Markus Armbruster [this message]
2016-01-13 15:43 ` [Qemu-devel] [PULL 28/41] error: Use error_prepend() where it makes obvious sense Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 29/41] spapr: Use error_reportf_err() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 30/41] migration: Use error_reportf_err() instead of monitor_printf() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 31/41] qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 32/41] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 33/41] vmdk: Clean up control flow in vmdk_parse_extents() a bit Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 34/41] vmdk: Clean up "Invalid extent lines" error message Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 35/41] pci-assign: Clean up "Failed to assign" error messages Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 36/41] vhdx: Fix "log that needs to be replayed" error message Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 37/41] error: Clean up errors with embedded newlines (again) Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 38/41] hw/s390x: Rename local variables Error *l_err to just err Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 39/41] s390/sclp: Simplify control flow in sclp_realize() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 40/41] error: Consistently name Error * objects err, and not errp Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 41/41] checkpatch: Detect newlines in error_report and other error functions Markus Armbruster
2016-01-14 14:09 ` [Qemu-devel] [PULL 00/41] Error reporting patches for 2016-01-13 Peter Maydell
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=1452699819-26608-28-git-send-email-armbru@redhat.com \
--to=armbru@redhat.com \
--cc=qemu-devel@nongnu.org \
/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).