summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/qom/object_interfaces.h5
-rw-r--r--qemu-img.c39
-rw-r--r--qemu-io.c3
-rw-r--r--qemu-nbd.c3
-rw-r--r--qom/object_interfaces.c4
-rw-r--r--vl.c6
6 files changed, 21 insertions, 39 deletions
diff --git a/include/qom/object_interfaces.h b/include/qom/object_interfaces.h
index d579746db6..8b17f4def7 100644
--- a/include/qom/object_interfaces.h
+++ b/include/qom/object_interfaces.h
@@ -140,7 +140,7 @@ typedef bool (*user_creatable_add_opts_predicate)(const char *type);
* user_creatable_add_opts_foreach:
* @opaque: a user_creatable_add_opts_predicate callback or NULL
* @opts: options to create
- * @errp: if an error occurs, a pointer to an area to store the error
+ * @errp: unused
*
* An iterator callback to be used in conjunction with
* the qemu_opts_foreach() method for creating a list of
@@ -148,8 +148,9 @@ typedef bool (*user_creatable_add_opts_predicate)(const char *type);
*
* The @opaque parameter can be passed a user_creatable_add_opts_predicate
* callback to filter which types of object are created during iteration.
+ * When it fails, report the error.
*
- * Returns: 0 on success, -1 on error
+ * Returns: 0 on success, -1 when an error was reported.
*/
int user_creatable_add_opts_foreach(void *opaque,
QemuOpts *opts, Error **errp);
diff --git a/qemu-img.c b/qemu-img.c
index 1697762606..46f2a6def4 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -435,8 +435,7 @@ static int img_create(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
goto fail;
}
@@ -598,7 +597,6 @@ static int img_check(int argc, char **argv)
bool writethrough;
ImageCheck *check;
bool quiet = false;
- Error *local_err = NULL;
bool image_opts = false;
fmt = NULL;
@@ -679,8 +677,7 @@ static int img_check(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
return 1;
}
@@ -871,8 +868,7 @@ static int img_commit(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
return 1;
}
@@ -1133,7 +1129,6 @@ static int img_compare(int argc, char **argv)
int64_t nb_sectors;
int c, pnum;
uint64_t progress_base;
- Error *local_err = NULL;
bool image_opts = false;
cache = BDRV_DEFAULT_CACHE;
@@ -1201,8 +1196,7 @@ static int img_compare(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
ret = 2;
goto out4;
}
@@ -1864,8 +1858,7 @@ static int img_convert(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
goto fail_getopt;
}
@@ -2299,7 +2292,6 @@ static int img_info(int argc, char **argv)
bool chain = false;
const char *filename, *fmt, *output;
ImageInfoList *list;
- Error *local_err = NULL;
bool image_opts = false;
fmt = NULL;
@@ -2363,8 +2355,7 @@ static int img_info(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
return 1;
}
@@ -2513,7 +2504,6 @@ static int img_map(int argc, char **argv)
int64_t length;
MapEntry curr = { .length = 0 }, next;
int ret = 0;
- Error *local_err = NULL;
bool image_opts = false;
fmt = NULL;
@@ -2573,8 +2563,7 @@ static int img_map(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
return 1;
}
@@ -2717,8 +2706,7 @@ static int img_snapshot(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &err)) {
- error_report_err(err);
+ NULL, NULL)) {
return 1;
}
@@ -2867,8 +2855,7 @@ static int img_rebase(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
return 1;
}
@@ -3133,7 +3120,6 @@ static int img_resize(int argc, char **argv)
bool quiet = false;
BlockBackend *blk = NULL;
QemuOpts *param;
- Error *local_err = NULL;
static QemuOptsList resize_options = {
.name = "resize_options",
@@ -3204,8 +3190,7 @@ static int img_resize(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
return 1;
}
@@ -3297,7 +3282,6 @@ static int img_amend(int argc, char **argv)
bool quiet = false, progress = false;
BlockBackend *blk = NULL;
BlockDriverState *bs = NULL;
- Error *local_err = NULL;
bool image_opts = false;
cache = BDRV_DEFAULT_CACHE;
@@ -3365,8 +3349,7 @@ static int img_amend(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
ret = -1;
goto out_no_progress;
}
diff --git a/qemu-io.c b/qemu-io.c
index 288bba84b9..0598251e7c 100644
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -534,8 +534,7 @@ int main(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_error)) {
- error_report_err(local_error);
+ NULL, NULL)) {
exit(1);
}
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 2c9754e5d6..c55b40ffc8 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -711,8 +711,7 @@ int main(int argc, char **argv)
if (qemu_opts_foreach(&qemu_object_opts,
user_creatable_add_opts_foreach,
- NULL, &local_err)) {
- error_report_err(local_err);
+ NULL, NULL)) {
exit(EXIT_FAILURE);
}
diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
index ab5da35e4f..393189024f 100644
--- a/qom/object_interfaces.c
+++ b/qom/object_interfaces.c
@@ -170,6 +170,7 @@ int user_creatable_add_opts_foreach(void *opaque, QemuOpts *opts, Error **errp)
{
bool (*type_predicate)(const char *) = opaque;
Object *obj = NULL;
+ Error *err = NULL;
const char *type;
type = qemu_opt_get(opts, "qom-type");
@@ -178,8 +179,9 @@ int user_creatable_add_opts_foreach(void *opaque, QemuOpts *opts, Error **errp)
return 0;
}
- obj = user_creatable_add_opts(opts, errp);
+ obj = user_creatable_add_opts(opts, &err);
if (!obj) {
+ error_report_err(err);
return -1;
}
object_unref(obj);
diff --git a/vl.c b/vl.c
index 9df534ff14..5fd22cb2e9 100644
--- a/vl.c
+++ b/vl.c
@@ -4291,8 +4291,7 @@ int main(int argc, char **argv, char **envp)
if (qemu_opts_foreach(qemu_find_opts("object"),
user_creatable_add_opts_foreach,
- object_create_initial, &err)) {
- error_report_err(err);
+ object_create_initial, NULL)) {
exit(1);
}
@@ -4410,8 +4409,7 @@ int main(int argc, char **argv, char **envp)
if (qemu_opts_foreach(qemu_find_opts("object"),
user_creatable_add_opts_foreach,
- object_create_delayed, &err)) {
- error_report_err(err);
+ object_create_delayed, NULL)) {
exit(1);
}