[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 36/38] block: Clean up bdrv_img_create()'s error
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v4 36/38] block: Clean up bdrv_img_create()'s error reporting |
Date: |
Wed, 17 Oct 2018 10:27:00 +0200 |
bdrv_img_create() takes an Error ** argument and uses it in the
conventional way, except for one place: when qemu_opts_do_parse()
fails, it first reports its error to stderr or the HMP monitor with
error_report_err(), then error_setg()'s a generic error.
When the caller reports that second error similarly, this produces two
consecutive error messages on stderr or the HMP monitor.
When the caller does something else with it, such as send it via QMP,
the first error still goes to stderr or the HMP monitor. Fortunately,
no such caller exists.
Simply use the first error as is. Update expected output of
qemu-iotest 049 accordingly.
Cc: Kevin Wolf <address@hidden>
Cc: Max Reitz <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
block.c | 3 ---
tests/qemu-iotests/049.out | 12 ++++--------
2 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/block.c b/block.c
index 5d51419d21..08d64cdc61 100644
--- a/block.c
+++ b/block.c
@@ -4803,9 +4803,6 @@ void bdrv_img_create(const char *filename, const char
*fmt,
if (options) {
qemu_opts_do_parse(opts, options, NULL, &local_err);
if (local_err) {
- error_report_err(local_err);
- local_err = NULL;
- error_setg(errp, "Invalid options for file format '%s'", fmt);
goto out;
}
}
diff --git a/tests/qemu-iotests/049.out b/tests/qemu-iotests/049.out
index 0871bff564..6b505408dd 100644
--- a/tests/qemu-iotests/049.out
+++ b/tests/qemu-iotests/049.out
@@ -95,35 +95,31 @@ qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- -1024
qemu-img: Image size must be less than 8 EiB!
qemu-img create -f qcow2 -o size=-1024 TEST_DIR/t.qcow2
-qemu-img: Value '-1024' is out of range for parameter 'size'
-qemu-img: TEST_DIR/t.qcow2: Invalid options for file format 'qcow2'
+qemu-img: TEST_DIR/t.qcow2: Value '-1024' is out of range for parameter 'size'
qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- -1k
qemu-img: Image size must be less than 8 EiB!
qemu-img create -f qcow2 -o size=-1k TEST_DIR/t.qcow2
-qemu-img: Value '-1k' is out of range for parameter 'size'
-qemu-img: TEST_DIR/t.qcow2: Invalid options for file format 'qcow2'
+qemu-img: TEST_DIR/t.qcow2: Value '-1k' is out of range for parameter 'size'
qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- 1kilobyte
qemu-img: Invalid image size specified! You may use k, M, G, T, P or E
suffixes for
qemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.
qemu-img create -f qcow2 -o size=1kilobyte TEST_DIR/t.qcow2
-qemu-img: Parameter 'size' expects a non-negative number below 2^64
+qemu-img: TEST_DIR/t.qcow2: Parameter 'size' expects a non-negative number
below 2^64
Optional suffix k, M, G, T, P or E means kilo-, mega-, giga-, tera-, peta-
and exabytes, respectively.
-qemu-img: TEST_DIR/t.qcow2: Invalid options for file format 'qcow2'
qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- foobar
qemu-img: Invalid image size specified! You may use k, M, G, T, P or E
suffixes for
qemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.
qemu-img create -f qcow2 -o size=foobar TEST_DIR/t.qcow2
-qemu-img: Parameter 'size' expects a non-negative number below 2^64
+qemu-img: TEST_DIR/t.qcow2: Parameter 'size' expects a non-negative number
below 2^64
Optional suffix k, M, G, T, P or E means kilo-, mega-, giga-, tera-, peta-
and exabytes, respectively.
-qemu-img: TEST_DIR/t.qcow2: Invalid options for file format 'qcow2'
== Check correct interpretation of suffixes for cluster size ==
--
2.17.1
- [Qemu-devel] [PATCH v4 28/38] numa: Clean up error reporting in parse_numa(), (continued)
- [Qemu-devel] [PATCH v4 28/38] numa: Clean up error reporting in parse_numa(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 30/38] spice: Clean up error reporting in add_channel(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 33/38] blockdev: Convert drive_new() to Error, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 29/38] tpm: Clean up error reporting in tpm_init_tpmdev(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 32/38] vl: Assert drive_new() does not fail in default_drive(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 34/38] vl: Fix exit status for -drive format=help, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 35/38] vl: Simplify call of parse_name(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 07/38] char: Use error_printf() to print help and such, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 31/38] fsdev: Clean up error reporting in qemu_fsdev_add(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 36/38] block: Clean up bdrv_img_create()'s error reporting,
Markus Armbruster <=
- [Qemu-devel] [PATCH v4 09/38] pc: Fix machine property nvdimm-persistence error handling, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 10/38] ioapic: Fix error handling in realize(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 17/38] seccomp: Clean up error reporting in parse_sandbox(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 05/38] vfio: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 25/38] ui/keymaps: Fix handling of erroneous include files, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 26/38] ui: Convert vnc_display_init(), init_keyboard_layout() to Error, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 04/38] cpus hw target: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/17